调试环境说明
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
- 下载php debug这个插件
在设置中搜索php并找到
php.validate.executablePath
,然后将php.exe的位置添加进去,路径根据自己的本地实际环境填写"php.validate.executablePath": "D:/phpstudy_pro/Extensions/php/php7.3.4nts/php.exe",
添加调试配置文件launch.json
文件中的内容(我将其他多余的配置删除了,用不上):{ "version": "0.2.0", "configurations": [ { "name": "Xdebug", "type": "php", "request": "launch", "port": 9005, "pathMappings": { "/www/wwwroot/laravel.demo.test": "${workspaceFolder}" } }, ] }
说明:
- port:9005需要和php配置文件php.ini中xdebug配置的端口号一致。
- 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)