xdebug除錯
除錯環境部署
xdebug的版本需要與PHP版本相對於,所以不要輕易改變PHP環境版本。
0 配置php解析器
1 下載對應版本的xdebug
xdebug官網下載地址:https://xdebug.org/download.php
你需要仔細分析和選擇要下載的對應版本,否則無法除錯。由於非常容易出錯,建議採用下面這種簡單方法:
xdebug網站提供一個自動分析你係統對應的xdebug版本的頁面,網址是 https://xdebug.org/wizard.php
在頁面中需要貼上進去php版本資訊,也就是phpinfo()函式的資訊,如下圖:
ctrl+A全選這個頁面的資訊,然後貼上到第一個圖片的頁面中。
點選 analyse my phpinfo() output 按鈕
將下載的DLL檔案拷貝到指定目錄,按照頁面上的提示即可
到此為止,xdebug的下載和啟用就完成了,重新執行 phpinfo.php
2 修改php.ini檔案裡的xdebug配置項
xdebug2:
[XDebug]
xdebug.profiler_output_dir="C:\phpstudy2018\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="C:\phpstudy2018\PHPTutorial\tmp\xdebug"
zend_extension = "C:\phpstudy2018\PHPTutorial\php\php-7.2.1-nts\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
;開啟遠端除錯
xdebug.remote_enable = 1
;客戶機xdebug除錯協議
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_host=127.0.0.1
;xdebug.remote_port預設值為9000,這裡需要跟phpstorm配置一致,下面有說明
xdebug.remote_port=9000
;idekey 區分大小寫
xdebug.idekey="PHPSTORM"
xdebug3:
[xdebug]
zend_extension = "C:\phpstudy2018\PHPTutorial\php\php-7.2.1-nts\ext\php_xdebug.dll"
xdebug.mode= "debug"
#效能分析檔案存放位置
xdebug.output_dir = "C:\phpstudy2018\PHPTutorial\tmp\xdebug"
#步驟偵錯程式,應該是步入步進步出的吧
xdebug.remote_handler = "dbgp"
xdebug.idekey="PHPSTORM"
xdebug.start_with_request = yes
#由remote_host替換過來了,就寫本機的就行
xdebug.client_host=127.0.0.1
#由remote_port替換過來了,除錯埠
xdebug.client_port=9000
3 配置phpstorm
Ctrl+Alt+S快捷鍵開啟設定,搜尋xdebug,其中的Debug port確保不被其他應用佔用,當程式無法進入斷點時,可以考慮是否有其他應用佔用了你本地的9000埠。
在DBGp Proxy中配置你的idekey,idekey和在php.ini配置檔案中xdebug.idekey項的值一樣,host是你的伺服器ip或域名
【File】 ->【Settings】 ->【Languages & Frameworks】 ->【PHP】的servers中配置xdebug服務
測試一下配置是否成功
(如果不成功,根據報錯去修改)
4 第一個除錯
除錯使用:
新建一個執行除錯配置
新建php web page頁面
照著這樣填就好了。
開始除錯:
設定斷點,開啟debug監聽。
點選綠色的甲殼蟲開始除錯。
紅色圓中有個對號,是說明改斷點生效了
即可看到除錯資料在下方顯示。
補充--xdebug helper外掛
使用該外掛主要是為了彌補xdebug本身的侷限,直接使用phpstorm xdebug除錯的話,設定的斷點需要每次都重頭執行到斷點處,而不能靈活的終止或者其他操作
xdebug helper就可以實現這個功能。需要終止的時候選擇disable選項即可,而不需要從頭開始。
安裝使用:
直接搜尋xdebug helper。安裝成功後右鍵進入擴充套件選項
然後,前面正常配置
瀏覽器開啟debug,發包即可
參考
https://blog.csdn.net/yinhangbbbbb/article/details/79247331