1. 造成开启XDebug无效原因
- 路径不正确
在php.ini文件中zend_extension
路径不正确,例如:正反斜杠、路径不对问题 - php_debug扩展版本不匹配
例如:你安装的是PHP7.2版本,实际下载的php_debug版本是PHP7.1,就会造成开启debug失败 - php_debug扩展32位或者64位与安装PHP的不对应
一般的集成环境中,PHP的架构都是32位的(x86),而你的电脑是64位(x64),以PHP的环境架构为准
,例如:我的使用的PHP是x32为,电脑是win10 64位,我直接到xdebug官网下载64位扩展,导致开启扩展失败 - 注意下载的php_debug扩展NTS/TS 与安装PHP对应
2. 具体开启XDebug流程
- 使用phpinfo函数查看PHP版本信息需要注意的如下:
- 按照上图红框内的信息到
https://xdebug.org/download.php
下载对应的xdebug扩展
需要注意的地方是xdebug官网中没有带(TS)为非线性安全版本(NTS) - 在php.ini文件中添加如下信息:
;dduan_20190509 自定义XDebug
[XDebug]
zend_extension="D:\phpStudy\PHPTutorial\php\php-7.2.1-nts\ext\php_xdebug-2.7.2-7.2-vc15-nts.dll"
;是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0
xdebug.auto_trace=1
;是否允许Xdebug跟踪函数参数,默认值为0
xdebug.collect_params=1
;是否允许Xdebug跟踪函数返回值,默认值为0
xdebug.collect_return=1
;函数调用跟踪信息输出文件目录,默认值为/tmp
xdebug.trace_output_dir ="F:\PHP_xdebug"
;性能分析文件的存放位置,默认值为/tmp
xdebug.profiler_output_dir ="F:\PHP_xdebug"
;打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0
xdebug.profiler_enable = 1
;性能分析文件的命名规则,默认值为cachegrind.out.%p
xdebug.profiler_output_name = "cachegrind.out.%t.%p"
xdebug.remote_enable = 1
;用于zend studio远程调试的应用层通信协议
xdebug.remote_handler = "dbgp"
xdebug.idekey = PHPSTORM
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
- 重启Apache服务器
3. 检查是否成功开启
使用phpinfo查看: