环境
PHP7 + Apache + IDEA (PhpStorm同理)
php xdebug 原理简述
首先php要配置xdebug,包括指定一个监听服务的ip和端口,这个远程服务通常就是我们IDE来提供的,默认是localhost:9000
当我们的php请求中带有 XDEBUG_SESSION_START
参数时,php会将debug信息转发到指定的监听服务
![](https://img.haomeiwen.com/i9949918/84e859dda0397fb8.png)
php xdebug 配置
上述地址,可以通过我们phpinfo()
html响应结果,分析出我们该使用哪个版本的xdebug
<?php
phpinfo()
?>
![](https://img.haomeiwen.com/i9949918/ec1688f329d9caf6.png)
点击分析按钮之后如下,还给出了手把手教学
![](https://img.haomeiwen.com/i9949918/c25ffa715046e487.png)
我本地的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 设置
参考下图
![](https://img.haomeiwen.com/i9949918/a0546fb4956f340f.png)
![](https://img.haomeiwen.com/i9949918/7466348730a6049a.png)
![](https://img.haomeiwen.com/i9949918/088fc05f1c954a61.png)
![](https://img.haomeiwen.com/i9949918/2f871acd1378b5f7.png)
然后 Run>Edit Configurations
![](https://img.haomeiwen.com/i9949918/31d734631007dde0.png)
开启调试如下
![](https://img.haomeiwen.com/i9949918/adda3795f2273156.png)
配置工作到这里基本就结束了,通过URL中添加 &XDEBUG_SESSION_START=PHPIDEA
即可进入debug调试,注意 value 要和上述IDE KEY配置的一样
网页插件推荐
如果是调试网页的话,通过 Xdebug helper 可以帮助我们自动添加XDEBUG_SESSION_START参数
![](https://img.haomeiwen.com/i9949918/f41bc1433222fa4c.png)
问题排查
如果发现debug 无效,可以通过下图中的Validate 检查下web服务器是否配置有误
![](https://img.haomeiwen.com/i9949918/dd27f762e143e629.png)
网友评论