如何创建launch.json文件并在VSCode中开启PHP调试?
VSCode PHP Xdebug 调试配置与启动方案
你给出的配置内容原本写在了settings.json的launch节点下,这是错误的写法,调试配置需要单独放在项目根目录.vscode文件夹下的launch.json文件中。
1. 正确的launch.json配置
{ "version": "0.2.0", "configurations": [ { "name": "使用Xdebug2启动当前打开的脚本(旧版本兼容)", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 0, "runtimeArgs": [ "-dxdebug.remote_enable=yes", "-dxdebug.remote_autostart=yes" ], "env": { "XDEBUG_CONFIG": "remote_port=${port}" } }, { "name": "监听Xdebug连接", "type": "php", "request": "launch", "port": 9003 } ] }
注:Xdebug3默认端口为9003,Xdebug2默认端口为9000,如果你用的是Xdebug2,需要把「监听Xdebug连接」配置的port值改为9000,同时同步修改php.ini中的Xdebug端口配置。
2. 启动调试前的校验
- 确认php.ini中的Xdebug配置和版本匹配:
- Xdebug3需要添加配置:
xdebug.mode=debug、xdebug.start_with_request=yes、xdebug.client_port=9003、xdebug.client_host=127.0.0.1 - Xdebug2需要添加配置:
xdebug.remote_enable=On、xdebug.remote_autostart=On、xdebug.remote_port=9000、xdebug.remote_host=127.0.0.1
- Xdebug3需要添加配置:
- 在需要调试的PHP文件行号左侧点击,打上断点,没有断点的话调试会直接运行完全部代码,不会停住显示调试按钮。
- 确认VSCode的PHP Debug扩展处于启用状态,没有被禁用。
3. 调试启动步骤
调试本地单个PHP脚本
打开你要调试的PHP文件,切换到左侧「运行和调试」面板,下拉选择「使用Xdebug2启动当前打开的脚本(旧版本兼容)」,点击左上角的绿色运行箭头即可启动调试,运行到断点位置时就会显示前进、下一步等调试操作按钮。
调试Web项目(浏览器访问场景)
切换到左侧「运行和调试」面板,下拉选择「监听Xdebug连接」,点击左上角绿色运行箭头启动监听,之后在浏览器访问对应PHP项目的地址,请求触发后就会自动进入断点,显示调试操作按钮。
常见问题排查
- 如果调试按钮仍然不显示,先确认当前打开的文件后缀为
.php,且launch.json文件放在项目根目录的.vscode文件夹下。 - 如果端口被占用,可以修改launch.json中的port值为未被占用的端口,同时同步修改php.ini中的Xdebug端口配置,保持两者一致。
内容的提问来源于stack exchange,提问作者Code cracker
相关产品推荐
相关产品推荐

