国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php調(diào)試?yán)? xdebug

2020-03-22 20:01:55
字體:
供稿:網(wǎng)友
  • 之前整理在印象筆記中,現(xiàn)在搬出來。分本地調(diào)試和遠(yuǎn)程調(diào)試。本文親測(cè)通過并截圖,有問題歡迎留言探討。 (參考網(wǎng)上多位前輩的博客,整理在筆記里忘記保存原文鏈接,這里無法貼出鏈接,望見諒) # 痛處
    一般php項(xiàng)目調(diào)試都用echo, var_dump()之類的函數(shù)調(diào)試,項(xiàng)目大的話很不方便,也很低效;
    # 預(yù)備
    安裝xdebug擴(kuò)展; 網(wǎng)址https://xdebug.org/download.php windows找相應(yīng)的版本下載即可,linux下在https://xdebug.org/wizard.php這個(gè)頁面把 php -i 輸出結(jié)果放里面會(huì)告訴你怎么弄,相當(dāng)方便; 如下: 1,修改php配置文件,在最后添加. zend_extension = 'E:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll'; [xdebug] xdebug.auto_trace=On xdebug.collect_params=On xdebug.collect_vars = On ;收集變量 xdebug.collect_return = On ;收集返回值 xdebug.trace_output_dir='e:/wamp/tmp/debuginfo' xdebug.remote_enable = on xdebug.remote_handler = dbgp xdebug.remote_host= localhost ;用于遠(yuǎn)程調(diào)試 服務(wù)器的地址 xdebug.remote_connect_back = 1;用于遠(yuǎn)程調(diào)試 xdebug.remote_port = 9000 xdebug.idekey = PHPSTORM xdebug.profiler_enable = on xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = 'E:/wamp/tmp/debuginfo' xdebug.show_local_vars=0 xdebug.show_exception_trace = On ;開啟異常跟蹤 xdebugbug.max_nesting_level = 10000 phpinfo中驗(yàn)證xdebug擴(kuò)展是否啟用。 服務(wù)端配置完成! 2,phpstrom 配置

    這部配置的端口意思是 IDE 會(huì)在本機(jī)監(jiān)聽9000端口

    在項(xiàng)目右上角debug配置中 根據(jù)項(xiàng)目選擇類型如下,網(wǎng)站選擇web application,Name項(xiàng)自定義 server項(xiàng)沒有,點(diǎn)擊后面按鈕配置

    配置starturl(入口地址)

    完成配置如下:

    點(diǎn)那個(gè)蟲子就開啟了調(diào)試,會(huì)在上一步我們配置的默認(rèn)瀏覽器打開starturl,如下:

    在代碼里打一個(gè)斷點(diǎn),刷新一下頁面,調(diào)試窗口會(huì)顯示詳細(xì)信息, 上面有操作按鈕,如下:

    # 優(yōu)化地方

    上面調(diào)試步驟很麻煩,我們都是希望想調(diào)試的時(shí)候就調(diào)試,推薦插件 chrome 插件 xdebug helper 方便 隨時(shí)調(diào)試;也是個(gè)臭蟲的圖標(biāo),安裝上配置一下,如下: 在需要調(diào)試的頁面啟用插件

    IDE中點(diǎn)亮電話的圖標(biāo),啟動(dòng)監(jiān)聽,如下:

    配置結(jié)束,代碼里想調(diào)試直接打斷點(diǎn),完后瀏覽器訪問頁面,運(yùn)行到斷點(diǎn)IDE就會(huì)監(jiān)聽debug信息,并把信息顯示出來;
    #xdebug 遠(yuǎn)程調(diào)試
    有點(diǎn)項(xiàng)目在本地開發(fā)很難搭建環(huán)境,我們需要在遠(yuǎn)程開發(fā)和調(diào)試。也就是在本地去調(diào)試遠(yuǎn)程開發(fā)機(jī)上的代碼。
    !0,遠(yuǎn)程調(diào)試原理: 左邊是調(diào)試客戶端,比如IDEA、eclipse之類的IDE,右邊是xdebug,運(yùn)行按照如下步驟進(jìn)行: 1, IDE監(jiān)聽一個(gè)調(diào)試端口,默認(rèn)是9000,可以自行配置。 2, 用戶訪問右邊php環(huán)境的server,我們這里使用瀏覽器訪問(隨便在那都行,為方便選擇本地瀏覽器),一般IDE會(huì)自動(dòng)幫我們?cè)谡5膗rl后面增加 XDEBUG_SESSION_START=一個(gè)隨機(jī)數(shù) 的參數(shù)。這個(gè)參數(shù)是用來通知xdebug主動(dòng)連接IDE的9000端口進(jìn)行調(diào)試的,沒有這個(gè)參數(shù),xdebug不會(huì)去主動(dòng)連接IDE, 調(diào)試也就不會(huì)觸發(fā)。 3, xdebug主動(dòng)去連接IDE的9000端口, 連接成功后,調(diào)試開始。 xdebug是如何知道IDE監(jiān)聽9000端口的呢? xdebug有兩個(gè)配置:remote_host和remote_port,分別代表IDE的ip地址和監(jiān)聽端口。由此可見,IDE和xdebug必須協(xié)商好監(jiān)聽端口。 端口好辦,但是如果我的ip會(huì)變化,那我換一個(gè)ip,豈不是要修改下xdebug.remote_host配置嗎?好麻煩!!! 不知道ip沒關(guān)系,xdebug可以自己知道,只要設(shè)置 xdebug.remote_connect_back 為1就可以了,其運(yùn)行原理見下圖,實(shí)現(xiàn)很簡(jiǎn)單,xdebug可以從http請(qǐng)求的頭部獲取ip 地址,之后就用該ip地址作為remote_host來連接。 !1,服務(wù)端環(huán)境安裝xdebug(方法如上)
    最關(guān)鍵的兩個(gè)設(shè)置xdebug.remote_host和xdebug.remote_connect_back, xdebug.remote_host 要設(shè)置成你本機(jī)的地址,多個(gè)用逗號(hào)隔開 xdebug.remote_connect_back要設(shè)置成1或者on 設(shè)置完這個(gè)會(huì)自動(dòng)忽略remote_host的設(shè)置,如果本地是自動(dòng)獲取ip或者多人的話開啟這個(gè)比較好

    服務(wù)端的配置已完成!

    !2,IDE配置 (調(diào)試遠(yuǎn)端代碼一般會(huì)和遠(yuǎn)端開發(fā)同時(shí)進(jìn)行,遠(yuǎn)端調(diào)試需要打開一個(gè)本地和遠(yuǎn)端的通道,要不接受不到調(diào)試信息) > 新建一個(gè)遠(yuǎn)端的php解釋器 配置正確的話,如下圖:

    > 新建項(xiàng)目 或者 把本地已有的項(xiàng)目和遠(yuǎn)端的項(xiàng)目映射一下 都行

    > 在項(xiàng)目中配置 sftp

    再配置mapping 把遠(yuǎn)端代碼下載下來,如下: 來個(gè)截圖,好累啊

    這個(gè)時(shí)候看我們開始配置的那個(gè)遠(yuǎn)端解釋器 之前警告沒了,因?yàn)槲覀兣渲昧薽apping

    配置debug,步驟同上,不一樣的地方是配置 path mapping

    開始調(diào)試了 打斷點(diǎn) 瀏覽器訪問遠(yuǎn)端的地址 debug窗口已經(jīng)有調(diào)試信息了

    忽略我的504 這是別的原因造成的和xdebug沒關(guān)系 因?yàn)槭菧y(cè)試項(xiàng)目懶得管 ~ ~ 開發(fā)遠(yuǎn)端項(xiàng)目我們剛才配置好了sftp,我們本地修改可以通過如下配置自動(dòng)同步到遠(yuǎn)端 我一般選 ctrl + s 那項(xiàng) 按ctrl + s會(huì)自動(dòng)同步到遠(yuǎn)端開發(fā)機(jī) PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 盈江县| 洱源县| 象山县| 政和县| 乌兰县| 双江| 青浦区| 曲沃县| 宜兰市| 梧州市| 台南县| 满洲里市| 孟州市| 徐闻县| 静海县| 郑州市| 昔阳县| 土默特左旗| 博客| 长春市| 双牌县| 南部县| 富民县| 东阿县| 寿阳县| 克东县| 滦南县| 扶余县| 故城县| 苗栗市| 澜沧| 华宁县| 济源市| 固原市| 清镇市| 泰顺县| 孟州市| 福清市| 墨江| 湖北省| 许昌县|