有鉴于之前使用log日志调试代码,或者var_dump()调试代码太慢了,系统出了问题排查效率低下。最终决定使用xdebug工具提高效率。总结如下:
1. xdebug版本要和phpstorm兼容,
这里使用xdeubug 3.1.6,phpstorm 2022.3.3 (破解)
据说 xdeubug 3版本必须是phpstorm 2020 版本以上
2. xdebug版本要和php 版本兼容
3. xdebug 3 版本配置 和网上大部分文章所说 的xdebug 2 有很大区别
开始:
一. 安装兼容的xdebug
步骤:
1.打印 phpinfo()
2. 在浏览器 界面中 Ctrl+A 全选复制整个界面 (phpinfo) 的信息
3. 打开网站 https://xdebug.org/wizard
3.把复制到的信息粘贴入白色框
4.点击下方的 Analyse my phpinfo() output 按钮,如图:
即可获得以下信息:
5.按照图片中的箭头指示一步步编译安装xdebug
如图是第9步骤的 /etc/php/7.3/fpm/conf.d/99-xdebug.ini 配置
zend_extension = xdebug
;这是xdebug3.1.6的配置
;开启xdebug
xdebug.mode = debug
;允许任意 ip 电脑的phpstorm客户端调试xdebug,默认只允许127.0.0.1 本机的phpstorm调试xdebug
xdebug.discover_client_host = 1
二. 配置 phpstorm
xdebug 3 ,默认使用 9003 端口,不同于xdebug 2,默认使用 9000
2.1 配置监听xdebug的端口 9003
2.2 配置远程服务器相关
2.2.1点击Validate 验证xdebug是否配置成功了
在这里插入图片描述
复制此行命令,到linux /windows 服务器,并回车执行
curl -f -L -o ./phpstorm_xdebug.zip "https://packages.jetbrains.team/files/p/ij/xdebug-validation-script/script/phpstorm_xdebug_validator.zip";unzip ./phpstorm_xdebug.zip -d .;rm -f ./phpstorm_xdebug.zip
解压生成了3个 文件,其中最重要的phpstorm_index.php
在这里插入图片描述
显示找不到 http://192.168.11.168/phpstorm_index.php 文件
显然phpstorm 是想要我们能浏览器访问phpstorm_index.php(默认80端口)
那我们就来配置下
我这里是 yii 框架,nginx,那么就配置下nginx,能够访问到phpstorm_index.php
先copy phpstorm_debug.php,phpstorm_debug_validator.phar,phpstorm_index.php 到指定的目录
我随意设置了一个访问端口,7374,
重新配置下
点击访问浏览器
如下图所示,能访问页面,并显示Xdebug 的一些信息
使用phpstorm 验证xdebug 配置是否对
出现如下 红框的提示,说明成功了
在这里插入图片描述
最后浏览器打开某个接口,开始debug,设置断点,点击右边的虫子按钮,用来监听来自服务器的消息
设置断点
能显示变量的值,说明成功了