首先,我打開XAMPP並啟動以下服務:
順便說一下,PHP 版本是 7.3.3。然後我phpinfo()
在瀏覽器中查看。這是一個螢幕截圖:
我去了xdebug.org下載此版本的 Xdebug:
當我將此文件複製到時C:\xampp\php\ext
,我發現有一個名為php_xdebug.dll
.不管怎樣,我仍然將 Xdebug 檔案呼叫到路徑中,而沒有更改其名稱 ( php_xdebug-2.7.2-7.3-vc15-x86_64.dll
)。
php.ini
接下來,我從網路上的一篇文章複製了一段程式碼:
zend_extension = "C:\xampp\php\ext\php_xdebug-2.7.2-7.3-vc15-x86_64.dll"
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
但我想不通為什麼端口是9000,端口根本不起作用。我localhost:9000
在Chrome的網址列輸入,結果頁面顯示localhost拒絕了我的連線要求。
不過,我還是繼續了。我在 VS Code 中安裝了「PHP Debug」擴充。擴展名launch.json
如下圖所示:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
最後,我創建了一個新的PHP檔案並對其進行了調試。當我在瀏覽器中打開文件時,調試程序不起作用。那麼,您能告訴我問題出在哪裡並告訴我確切的調試步驟嗎?
更新:終於找到問題所在了,9000埠號被佔用了!於是我在cmd中輸入“netstat -ano”,找到了9000埠以及對應的PID值。在此輸入影像描述然後輸入「taskkill /PID 4380 /F」來殺死佔用該連接埠的進程。最後,重新啟動PHP服務。這樣,這個問題就解決了。但請記住,請確保安裝正確的 xdebug 版本,您可以在 XAMPP 的 phpinfo() 中查看該版本。感謝評論區的朋友們的幫忙。