天天看點

[XDebug][VSCode][PHP]VSCode編輯器調試PHP及問題歸納

準備

  1. 下載下傳xdebug插件

    XDebug線上檢測下載下傳

    上面的連結可以自動檢測适合你的插件版本

    你隻需要用PHP輸出 phpinfo() 然後複制全部,粘貼進去

  2. 下載下傳 PHP Debug 和 PHP Intelephense 在 VSCode 裡

    在 VSCode 擴充裡直接搜尋這兩個名字就好

配置

  1. 把下載下傳好的 XDebug 檔案移動到 PHP 安裝目錄的 ext 檔案夾下,這樣在第二步就不需要用絕對路徑,可以直接寫檔案名
  2. 在 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
           
  1. 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",
           
  1. 運作調試,設定launch.json

    port 端口改為上邊ini檔案對應端口

重新開機環境,加斷點調試

問題

  • 首先確定XDebug環境已就緒,可phpinfo()檢視插件,如果有XDebug版本顯示,就證明插件安裝成功
  • 確定端口号沒有被占用,以及一緻
  • 啟動調試後,很可能中斷不了,請仔細檢查上邊每一項
  • 中斷不了這個問題很玄學,我每次得折騰好久,明明各項都對,就是中斷不了,反複改一改然後就莫名其妙的又好了,接着我嘗試複現錯誤,但是複現不了,是以很玄學
  • 關于調試逾時504解決辦法,設定環境的逾時即可,例如60秒設定為3000秒,還有設定環境配置