如何在 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

在此处输入图片描述

开始并播放绿色图标

在此处输入图片描述

在您的方法或控制器中添加断点

在此处输入图片描述

管理你的断点

在此处输入图片描述

相关内容