文章总结: 本文详细介绍了在Windows11环境下配置PHP动态调试环境的方法,涵盖PHPStudy8.1、PHP7.3.4、Xdebug2.7.2及PHPStorm2025的完整配置流程。核心步骤包括在PHPStudy中开启Xdebug扩展并修改php.ini配置项,在PHPStorm中设置调试端口、服务器及路径映射,以及浏览器端安装XdebugHelper插件。文章提供了配置项说明表格和问题记录,可操作性强,适合代码审计人员参考。 综合评分: 75 文章分类: 代码审计,安全工具,安全开发
PHP代码审计-动态调试配置(附环境)
原创
wolfsec wolfsec
风铃Sec
2026年9月11日 13:18 福建
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
环境:
-
Windows 11 -
PHPstudy 8.1 -
PHPStorm 2025 -
Xdebug 2.7.2(phpstudy自带) -
php 7.3.4-nts
PHPStudy配置
创建一个网站,专门用户与动态调试,网站域名设置为debug.io
选择PHP版本为php7.3.4,并开启php扩展xdebug:
通过小皮面板打开php所在文件夹,验证xdebug在CLI中是否成功开启。
找到php.exe文件所在路径,打开cmd,输入如下命令:
php.exe --ri xdebug
输出如上内容,标识Xdebug成功开启,且小皮自带的Xdebug版本为2.7.2。这个时候表示Xdebug在CLI生效,但是不代表此时Xdebug在Web端生效,想让Xdegub在Web端也生效则需要打开php.exe同目录的一个叫做php.ini文件,在文件末尾贴入如下内容(事实上只要phpstudy中的扩展中开启xdebug插件后以下内容会被自动填充,我们只需要添加xdebug.idekey=”PHPSTORM” 以及修改相对应的host、port和xdebug.remote_enable=On就好了):
[Xdebug]
xdebug.idekey="PHPSTORM"
zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=Off
xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace
xdebug.profiler_enable=Off
xdebug.profiler_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.profiler
xdebug.remote_enable=On
xdebug.remote_host="debug.io"
xdebug.remote_port=9003
xdebug.remote_handler=dbgp
| 配置项 | 作用 |
| — | — |
| xdebug.idekey | 指定IDE 调试会话的 Key,用于标识调试客户端 |
| zend_extension | 加载 Xdebug 扩展DLL |
| xdebug.remote_enable | 开启远程调试(要设置成On) |
| xdebug.remote_host | 指定 IDE 所在主机(由于是在本地调试,所以此处可以直接与 PHPstudy 中设置的网站域名一致) |
| xdebug.remote_port | 指定 Xdebug 连接 IDE 的端口 |
| xdebug.remote_handler | 指定远程调试协议:DBGP(Debugging Protocol) |
在网站根目录中新建一个phpinfo,通过网站访问,出现Xdebug相关内容则表示Xdebug在Web端成功生效(不生效可能需要重启网站包括停止网站和重启Web服务器)。
PHPStorm 配置
在PHPStorm中输入Ctrl + Alt + S打开设置窗口,设置PHP语言版本和PHP解释器路径。
设置Debug端口为9003,这边的端口号要与php.ini文件中的remote_port值一致。
设置DBGp Proxy的IDE key为PHPSTORM,Host为debug.io,端口设置为9003。(分别与php.ini中的 xdebug.idekey 、xdebug.remote_host、xdebug.remote_port值一一对应)
设置服务器:Name可以随意设置,Host设置为PHPStudy中网站的域名debug.io,Port设置为网站的端口90(这边的端口是网站的访问端口,而不是php.ini中设置的调试端口。)
设置完Host和Port后,勾选底下的Use Path mappings,使用路径映射将PhpStorm看到的项目文件路径,和 PHP/Xdebug实际运行的文件路径对应起来(填写要调试的系统所在的路径),点击Apply,最后再点OK。
紧接着开始编辑调试配置,选择Edit Configurations。
编辑调试配置如下:
验证需要注意,系统存放的本地目录和网站的访问目录要对应上,填写完毕后点击Validate,如果没问题则会出现绿色打勾的内容。(注:黄色感叹号不用管)
验证成功后,返回上一层窗口,点击debug按钮开始调试。
最后结果如下(记得先打断点):
问题记录:如果选择Debug的端口为9003,就要把原本的9000删除,不然会一直报9000端口繁忙,导致调试失败。(可能是我之前的错误配置导致的)
浏览器配置
安装JetBrains提供的 Xdebug Helper
安装完毕后,URL中的XDEBUG_SESSION_START会消失。
PHPStorm 配置
「PHPStorm」
链接:https://pan.quark.cn/s/37f111bd9f11
「激活教程」
链接:https://pan.quark.cn/s/4b0d7809517c
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:风铃Sec wolfsec wolfsec《PHP代码审计-动态调试配置(附环境)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论