动调环境搭建

N0va7
2025-09-19 / 0 评论 / 3 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2025年09月19日,已超过257天没有更新,若内容或图片失效,请留言反馈。

PHP

PHP的XDebug调试环境初次配置不懂的话真的很烦人,所以特此记录一下

所以可以看到,在用xdebug+phpstorm调试PHP的过程中,是有三个角色的:

  • 调试客户端:PHPstorm
  • 安装了xdebug需要被调试的PHP
  • 触发调试的浏览器

所以三个角色放在一台电脑上,不晕才怪。为什么PHP不能像其他语言一样,调试个PHP要这么麻烦的配置。

根本原因:看似是本地调试,实际和远程调试没有什么特别大的区别。因为即使是在本地,PHP解析器也是被apache/nginx等中间件调用。
其他的编程语言都是IDE负责去调用调试器,但是PHP是藏在中间件后面的,所以就需要PHPstorm和真正需要被调试的PHP代码进行通信了,于是xdebug就是实现了这个通信机制的一个PHP插件。

宝塔搭建

我此处是开了一个Ubuntu虚拟机来作为专门动调的

为什么选择安装宝塔呢?因为宝塔可以直接安装配套PHP版本的Xdebug,不需要我们自己再去编译配置(我之前被这个整麻了)

宝塔安装脚本(建议去官方看):

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

直接去安装自己对应的PHP版本即可

然后选择一个PHP版本,我这里选个5.6的版本,找到Xdebug安装即可

配置文件配置

到这里还没结束,要记得配置一下PHP的配置文件

[XDebug]
zend_extension=/www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
; 开启远程调试功能
xdebug.remote_enable=1

; 远程调试地址
xdebug.remote_host=192.168.48.1

; 远程调试端口
xdebug.remote_port=9000

xdebug.idekey=PHPSTORM
xdebug.mode=debug
; 在 IDE 上等待确认传入调试连接以的时间(毫秒)
xdebug.remote_timeout=2000

; debug 调试的日志位置
xdebug.remote_log = /tmp/xdebug.log

默认配置的话,如果我们编辑器一直处于 Debug 状态,这个时候浏览器访问的网站就会超时出现 502 的错误,这是因为我们 PHP Debug 的时间太长了,浏览器因为服务器挂掉了,所以我们需要配置一下,增加 PHP Debug 的等待时间

修改 request_terminate_timeout 时间为 0 即可

浏览器

安装xdebug helper插件

并且将key填进去,这个插件可以让我们有选择性的Debug,而不是所有请求都会Debug

PHPStorm配置

设置好监听的端口

配置远程服务器连接

根路径设置为存放网站的根路径,我这是/www/wwwroot

配置好对应的路径映射

最后将远程代码部署到本地

开启调试

点亮插件绿标

开启监听并打上断点

刷新网页即可发现成功Debug

0

评论 (0)

取消