网址:https://xdebug.org/download
源码编译git clone https://github.com/xdebug/xdebug.git...cd xdebugphpize./configure --enable-xdebug# 指定版本 ./configure --with-php-config=/opt/homebrew/Cellar/php@8.2/8.2.14/bin/php-config --enable-xdebugmake && make testmake install
配置调试环境配置 xdebug
[xdebug]zend_extension="xdebug.so"xdebug.mode = debug // # 启用调试xdebug.client_host = 127.0.0.1 // xdebug.client_port = 9003 // 监听端口xdebug.collect_return=Onxdebug.idekey="PHPSTORM"xdebug.log="/tmp/xdebug.log";xdebug.log_level=0
注意 监听端口默认是 9000 , 和 php 默认监听重复, 注意尽量不用使用 9000, 以免出现不生效的情况
设置 phpstorm 配置并开启监听配置端口我们这里监听的是 9003 端口, 和 xdebug 配置监听数据端口一致;当然其实这里保持默认设置也是没问题的,默认设置是:9000,9003.它的意思是:xdebug2走9000,xdebug3走9003

端口都是和php.ini里边的xdebug.client_port一样,主机填本机的
启动phpstorm 数据监听
点击图上的电话标识后,电话标识变成绿色,这时候就开启了监听,这时候,我们可以通过lsof命令观察配置的客户端端口9003
关闭时开启时
php网页调试服务器配置
添加一个服务器,也就是添加一个正运行的php项目进行调试启动.比如基于nginx启动的一个tp项目:test.com.cn,这时候我们可以添加一个新的服务器主机名test.com.cn,调试器为xdebug.服务器名称为tp8
验证连接
图上提示的发现客户端主机,关闭,可以不管它.但是其他项验证不过,需要检查你的xdebug配置和服务器的主机是否可以正常访问,php版本是否和xdebug版本适配
编辑配置如果没有配置,我们这里就新建一个配置,选择php网页,然后设置名称、选择服务器,设置起始url(这里的url可以填写任何一种框架的路由:比如/users/100;/users)
开启调试选择上面配置的服务器,然后在编辑器里针对需要调试的行打下断点,点击红色蜘蛛按钮开始断点调试(这里会在下一次的文章发布),这样我们就可以愉快的调试我们的tp8框架里
php脚本控制台调试编辑配置和上面类似,这里选择php脚本
开启调试
php脚本浏览器调试脚本也可以通过运行到浏览器调试,可以直接添加一个javascript调试,不过也可以右键快速调试
设置 debug sessiondebug session 的工具的目的是设置一个cookie, 让每次发送数据的时候都会携带这个 cookie, 从而识别监听,这样才能使用调试.
安装浏览器调试插件连接:https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc/related?hl=en
点击 图标设置session
已经设置了cookie, Key 是 XDEBUG_SESSION, 值是 PHPSTORM, 这里需要和php.ini的配置项`idekey`一样.
5) 运行页面这里我们在断点位置可以看到输出的内容项目