vscode+docker开启Xdebug3功能调试PHP

vscode+docker开启Xdebug3功能调试PHP

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

调试环境说明

docker + php + windows

安装Xdebug插件

根据自己的php版本等信息,安装Xdebug插件

然后在php.ini中可以添加Xdebug相关的配置

xdebug.mode=debug
xdebug.client_port=9005     ##端口号
xdebug.idekey=PHPSTORM      ## 这个可以随意设置
xdebug.client_host=172.16.133.12  ##需要用windows系统下的ip地址

然后重启nginx服务或者重新加载php配置,再通过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": "Xdebug",
             "type": "php",
             "request": "launch",
             "port": 9005,
             "pathMappings": {
                 "/www/wwwroot/laravel.demo.test": "${workspaceFolder}"
             }
         },
     ]
    }
    

    说明:

  4. port:9005需要和php配置文件php.ini中xdebug配置的端口号一致。
  5. pathMappings里面的路径需要用docker里面项目的路径,${workspaceFolder}不需要修改

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

调试及优化

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

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

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

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

所以使用该插件之前可以右击该插件,选择扩展选项进入到插件的设置页面,页面如下,点击一下保存即可

调试效果:

0

评论 (0)

取消