首先,我打开 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()中查看。感谢评论区的朋友的帮助。