如何在XAMPP服務中的Visual Studio Code中偵錯PHP程式碼?

如何在XAMPP服務中的Visual Studio Code中偵錯PHP程式碼?

首先,我打開XAMPP並啟動以下服務:

我在 XAMPP 中啟動的服務 - 螢幕截圖

順便說一下,PHP 版本是 7.3.3。然後我phpinfo()在瀏覽器中查看。這是一個螢幕截圖:

phpinfo() - 螢幕截圖

我去了xdebug.org下載此版本的 Xdebug:

我下載的 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() 中查看該版本。感謝評論區的朋友們的幫忙。

答案1

您不需要打開 9000 端口,只需運行調試即可:

在此輸入影像描述

然後

在此輸入影像描述

選擇PHP

在此輸入影像描述

開始並播放綠色圖標

在此輸入影像描述

將斷點新增到您的方法或控制器中

在此輸入影像描述

管理你的斷點

在此輸入影像描述

相關內容