vscode开启Xdebug2功能调试PHP

vscode开启Xdebug2功能调试PHP

binscor
2021-11-23 / 0 评论 / 1,001 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年02月14日,已超过646天没有更新,若内容或图片失效,请留言反馈。

调试环境说明

nginx + php + windows

开启Xdebug插件

因为我这边的环境一直是通过phpstudy开启运行环境,Xdebug开启方式比较简单。phpstudy中开启xdebug插件,端口默认9000,如图:不同版本的phpSytudy界面可能不一样,自己自己找到php的相关安装界面

在php.ini中可以看到Xdebug相关的配置,如果没有可以手动添加进去

[Xdebug]
zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
;是否开启自动跟踪
xdebug.auto_trace=On
;跟踪输出路径
xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace
xdebug.profiler_enable=On
;调试输出路径
xdebug.profiler_output_dir ="D:\phpstudy_pro\Extensions\tmp\xdebug"
;是否开启远程调试
xdebug.remote_enable=On
;允许调试的客户端IP
xdebug.remote_host=localhost
;远程调试的端口(默认9000)
xdebug.remote_port=9000
;调试插件dbgp
xdebug.remote_handler=dbgp
xdebug.idekey="vsc"

然后重启nginx服务,再通过phpinfo()函数查看xdebug是否开启成功,成功如下图:

配置vscode

1、下载php debug这个插件

2、在设置中搜索php并找到php.validate.executablePath,然后将php.exe的位置添加进去,路径根据自己的本地实际环境填写

"php.validate.executablePath": "D:/phpstudy_pro/Extensions/php/php7.3.4nts/php.exe",



3、添加调试配置文件launch.json

文件中的内容(我将其他多余的配置删除了,用不上):

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        }
    ]
}

port:9000需要和php配置文件php.ini中xdebug配置的端口号一致。

到这里基本就是配置完成,可以打断点开始调试代码。

调试及优化

点击左上角红框处开启调试,然后浏览器输入链接

注意:访问链接需要加上参数XDEBUG_SESSION_START=vsc,此处的参数值vsc需要和php配置文件php.ini中xdebug配置的xdebug.idekey后面的值一样。

如果不想每次添加这个参数,可以通过安装浏览器插件的方式简化。
在浏览器的扩展商店中搜索Xdebug helper,Chrome或者Edge浏览器可以直接点击Xdebug helper安装;

安装完成后在打开要调试的链接页面,开启debug,这样就可以不添加参数XDEBUG_SESSION_START=vsc,插件的工作原理大概是在请求的时候添加cookie:XDEBUG_SESSION=vsc

所以使用该插件之前可以右击该插件,选择扩展选项进入到插件的设置页面,页面如下,选择other然后值填写vsc

调试效果:

代码太烂,就不看了~

0

评论 (0)

取消