PHP Xdebug 安装使用笔记
xdebug 介绍
Xdebug : Debugger and Profiler Tool for PHP
一个PHP的调试和分析工具 https://xdebug.org/
本地环境是PHPStudy集成环境小皮,IDE是phpstorm 2022.2.2版本
nginx1.15.11,php7.3.4
WIN10 下载PHP对应版本的扩展包
https://xdebug.org/download
扩展下载地址 https://xdebug.org/download/historical 这里只有ts版本
pecl官网 http://pecl.php.net/package/xdebug/2.9.6/windows
下载的xdebu的扩展包到对应PHP版本的ext目录下 D:\phpstudy_pro\Extensions\php\php7.3.4nts\ext\php_xdebug-2.9.6-7.3-vc15-nts-x86_64.dll
上面就是基本的本地开发环境,IDE等相关的版本,下面就是介绍在基于以上环境配置PHP的xdebug扩展进行打断点调试代码
如果是本地IDE运行PHP脚本,直接debug就行,如下图:
几个相关的配置说明
- PHP的配置文件php.ini中要开启xdebug扩展和配置xdebug的信息
- 在PHPstorm中配置DBGp Proxy 来监听代码debug :配置DbGp代理这个是为了监听浏览器访问的时候触发debug调试
下面介绍浏览器触发debug调试的步骤:
1. 在php.ini文件中配置xdebug扩展
zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug-2.9.6-7.3-vc15-nts-x86_64.dll
xdebug.mode = debug
xdebug.remote_enable=on
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9003
xdebug.idekey=PHPSTORM
注意端口使用的是9003,不要使用9000会跟CGI的端口冲突。本地是nginx配置的反向代理PHP-CGI就是用的9000端口
2.phpstorm中配置DBGp代理
DBGp Proxy 配置
IDE key: PHPSTORM
Host : localhost
Port : 9003
3. phpstorm中启动监听服务
4.启动nginx
phpstudy 集成环境,启动nginx的同时会自动启动php-cgi程序
浏览器访问 localhost/test.php
访问之前记得打断点 和启动监听服务
因为php.ini 中配置了自动触发debug :xdebug.remote_autostart=On 所以浏览器不需要装xdebug插件(扩展程序)也可以自动触发debug
用的是nginx 反向代理服务,是有超时时间的,如果debug时间比较的长,超时时间可以设置大一点,就不会出现HTTP 504 - Gateway Timeout
PS
谷歌浏览器的xdebug插件要FQ才能安装上,这里使用火狐浏览器的xdebug插件,如下图
其实在php.ini中配置了自动开启debug调试,所以我这里不使用插件也是可以的
总结
xdebug的运行原理,我也不清楚,只是会配置,会使用。具体里面的端口怎么通信、怎么监听,debug,trace,profiler 等原理有待去学习
参考:
https://blog.csdn.net/u013474104/article/details/78445316
https://xdebug.org/docs/step_debug
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析