环境
PHP7 + Apache + IDEA (PhpStorm同理)
php xdebug 原理简述
首先php要配置xdebug,包括指定一个监听服务的ip和端口,这个远程服务通常就是我们IDE来提供的,默认是localhost:9000
当我们的php请求中带有 XDEBUG_SESSION_START
参数时,php会将debug信息转发到指定的监听服务
php xdebug 配置
上述地址,可以通过我们phpinfo()
html响应结果,分析出我们该使用哪个版本的xdebug
<?php
phpinfo()
?>
点击分析按钮之后如下,还给出了手把手教学
我本地的php.ini 添加了如下几行,调试本地php的话不需要添加远程地址和端口
[XDebug]
zend_extension = D:\dev\soft\xampp\php\ext\php_xdebug-2.9.1-7.3-vc15-x86_64.dll
xdebug.remote_enable=1
不要忘记重启 webserver
IDEA 设置
参考下图
然后 Run>Edit Configurations
开启调试如下
配置工作到这里基本就结束了,通过URL中添加 &XDEBUG_SESSION_START=PHPIDEA
即可进入debug调试,注意 value 要和上述IDE KEY配置的一样
网页插件推荐
如果是调试网页的话,通过 Xdebug helper 可以帮助我们自动添加XDEBUG_SESSION_START参数
问题排查
如果发现debug 无效,可以通过下图中的Validate 检查下web服务器是否配置有误