1. 确认开启了Xdebug
在使用VSCode进行PHP调试之前,我们需要确认Xdebug已经开启。可以在php.ini文件中找到并开启它。
首先,请确认php.ini文件中包含以下这一行:
zend_extension=xdebug.so
如果没有,可以在php.ini文件的末尾增加这一行:
zend_extension=xdebug.so
接下来需要添加一些Xdebug的配置。以下是一些我使用的常见配置:
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.idekey=VSCODE
以上配置需要添加到php.ini末尾。
最后,需要重启Web服务器使配置生效。
2. 配置launch.json文件
在VSCode中,我们需要配置launch.json文件来进行PHP调试。以下是一份可以使用的launch.json文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"log": true,
"externalConsole": false,
"pathMappings": {
"/var/www/html": "${workspaceRoot}"
}
}
]
}
2.1. 配置pathMappings
上述代码中的pathMappings需要根据自己的实际情况进行配置。对于WAMP/LAMP/XAMPP等环境下的Web服务器,可以使用以下配置:
"pathMappings": {
"/var/www/html": "${workspaceRoot}"
}
对于XAMPP等环境下的Windows用户,也可以使用以下配置:
"pathMappings": {
"C:/xampp/htdocs": "${workspaceRoot}"
}
3. 开始调试
在上述配置完成后,我们就可以开始进行PHP调试了。首先,需要启动Web服务器。然后,在VSCode中按下
在启动调试模式后,可以尝试访问Web服务器上的PHP页面。当访问的页面出现问题时,VSCode会自动停下来并显示源代码,并提供以下调试功能:
断点:可以在源代码中设置断点,当代码执行到该断点时,VSCode会自动停下来。
监视变量:可以在调试过程中监视变量的值,并在值发生变化时得到通知。
堆栈跟踪:可以查看调用堆栈以便更好地理解代码的执行流程。
单步调试:可以逐行地执行代码,以便理解代码的执行过程。
在调试完成后,可以按下Shift+F5键或点击VSCode右上角的Stop按钮停止调试模式。
至此,我们已经完成了VSCode对PHP的调试。