準備
-
下載下傳xdebug插件
XDebug線上檢測下載下傳
上面的連結可以自動檢測适合你的插件版本
你隻需要用PHP輸出 phpinfo() 然後複制全部,粘貼進去
-
下載下傳 PHP Debug 和 PHP Intelephense 在 VSCode 裡
在 VSCode 擴充裡直接搜尋這兩個名字就好
配置
- 把下載下傳好的 XDebug 檔案移動到 PHP 安裝目錄的 ext 檔案夾下,這樣在第二步就不需要用絕對路徑,可以直接寫檔案名
- 在 PHP 安裝目錄裡,有 php.ini 檔案,添加如下
- XDebug 版本3.X.X
//XDebugPath是XDebug插件的絕對路徑,記得加檔案名全稱
zend_extension=XDebugPath
//設定 Debug 模式,這是在3.X.X上獨有的,下邊兩句不用修改
xdebug.mode=debug
xdebug.start_with_request=yes
//port 是 PHP 監聽端口,3.X.X版本預設端口為9003
xdebug.client_port=port
//host 是 PHP 服務主機位址,本地的話直接寫 localhost 或 127.0.0.1
xdebug.remote_host=host
- XDebug 版本2.X.X
//XDebugPath是XDebug插件的絕對路徑,記得加檔案名全稱
zend_extension=XDebugPath
//下邊兩句不用修改
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
//port 是 PHP 監聽端口,2.X.X版本預設端口為9001
xdebug.client_port=port
//host 是 PHP 服務主機位址,本地的話直接寫 localhost 或 127.0.0.1
xdebug.remote_host=host
-
VSCode 檔案 =》 首選項 =》 設定 =》擴充
找到PHP,在settings.json中編輯
加入或設定下邊兩句,路徑根據自己環境修改,記得雙斜杠
"php.executablePath": "E:\\PHP\\Extensions\\php\\php7.3.4nts\\php.exe",
"php.validate.executablePath": "E:\\PHP\\Extensions\\php\\php7.3.4nts\\php.exe",
-
運作調試,設定launch.json
port 端口改為上邊ini檔案對應端口
重新開機環境,加斷點調試
問題
- 首先確定XDebug環境已就緒,可phpinfo()檢視插件,如果有XDebug版本顯示,就證明插件安裝成功
- 確定端口号沒有被占用,以及一緻
- 啟動調試後,很可能中斷不了,請仔細檢查上邊每一項
- 中斷不了這個問題很玄學,我每次得折騰好久,明明各項都對,就是中斷不了,反複改一改然後就莫名其妙的又好了,接着我嘗試複現錯誤,但是複現不了,是以很玄學
- 關于調試逾時504解決辦法,設定環境的逾時即可,例如60秒設定為3000秒,還有設定環境配置