1:给选定版本的PHP安装xdebug 推荐使用宝塔 或者 phpstudy 界面化工具
命令行相关安装方法 https://xdebug.org/docs/install
非界面化安装,可能存在的坑:PHP版本,与xdebug版本不匹配 得到Xdebug扩展的各种坑 在PHP配置文件中,添加扩展的坑
综上,建议使用界面化安装 (或者使用已经编译好的扩展,且使用相同版本PHP)
widows 环境下,各个版本的xdebug 下载链接 http://pecl.php.net/package/xdebug
2:添加xdebug配置信息 (在php 的配置文件中添加)
;加载扩展
zend_extension=D:/phpstudy_pro/Extensions/php/php7.2.9nts/ext/php_xdebug.dll
;开启远程调试
xdebug.remote_enable=On
;设置远程调试的电脑的IP (PHPSTORM所在PC的IP)
xdebug.remote_host=127.0.0.1
;设置远程PHPSTROM xdebug 监听的端口 (注意该端口不能被其他服务占用)
xdebug.remote_port=9007
xdebug.remote_handler=dbgp
3:设置编辑器监听9007端口 (与第二步骤中设置的端口一致)
4:编辑器上,在自己需要断点的位置,打上断点标识,且打开 xdebug 的监听
5:发送一个 携带 XDEBUG_SESSION_START 参数的请求,给PHP脚本
6:开始调试
可能的出现问题的地方:PHP版本与xdebug 版本 与编辑器版本,没有保持一致
我的版本信息:php7.2 xdebug 界面化安装的 2.8.0 编辑器版本 php’storm 2020.1
命令行Xdebug调试
打开PHPSTORM 右上角,编辑debug配置
1:新建一个类型为PHP Script 的调试配置
2:配置需要调试的PHP文件,(有需要时,同时设定好参数)
3:配置使用那个PHP进行调试,即PHP可执行文件(interpreter项)
4:phpstrom编辑器xdebug监听端口,与远程调试端口保持一致
5:选择好自己的调试配置,点击小虫子,开始调试。
###报错示例
Error running ‘xx’: Debugger extension is not detected
在Settings > Languages & Frameworks > PHP中修改 CLI Interpreter中配置默认的解释器,这个解释器配置了xdebug即可
xdebug 3.x版本配置示例
zend_extension=/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so
xdebug.mode=develop,coverage,debug,gcstats,profile,trace
xdebug.client_host="127.0.0.1"
xdebug.client_port=9017