## PHP 调试工具Xdebug安装配置
一、Xdebug 介绍
Xdebug是一个开源的PHP程序调试工具,可以使用它来调试、跟踪及分析程序运行状态。当然,Xdebug需要结合PHP的编辑工具来打断点、跟踪、调试及分析,比较常用的PHP的Xdebug调试环境。
二、安装
(一)xdebug.dll 下载
https://pecl.php.net/package/Xdebug (根据自己的PHP版本下载)
(二)xdebug 安装
1. 将下载下来的 php_xdebug-2.5.0rc1-7.1-vc14-nts-x86_64 放在 php 的 ext 目录下。
2. php.ini 配置
[Xdebug] zend_extension="E:/development/php/php-7.1.1-nts-Win32-VC14-x64/ext/php_xdebug-2.5.0rc1-7.1-vc14-nts-x86_64.dll" ;启用代码自动跟踪 xdebug.auto_trace=1 ;允许收集传递给函数的参数变量 xdebug.collect_params=1 ;允许收集函数调用的返回值 xdebug.collect_return=1 ;指定堆栈跟踪文件的存放目录 xdebug.trace_output_dir="E:/proj/WOS/xdebug" ;启用性能检测分析 xdebug.profiler_enable=on ;指定性能分析文件的存放目录 xdebug.profiler_output_dir="E:/proj/WOS/xdebug" xdebug.profiler_output_name = "callgrind.%p"
重启Nginx/Apache 后, phpinfo()一下会看到。
三、运行
(一)相关函数
1. xdebug_call_class()
返回从当前函数/方法调用的类名
2. xdebug_call_file()
返回从当前函数/方法调用的文件
3. xdebug_call_function()
返回从当前函数/方法调用的函数名
4. xdebug_call_line()
返回从当前函数/方法调用函数的行号
5. xdebug_disable( )
关闭xdebug错误跟踪
6. xdebug_enable()
开启xdebug错误跟踪
7.xdebug_get_headers()
返回所有通过PHP的header()设置的值,或者其他头设置。
8.xdebug_is_enabled( )
返回是否启用了堆栈跟踪
9.xdebug_memory_usage()
返回当前内存使用情况
10.xdebug_peak_memory_usage()
返回高峰内存使用情况
11.xdebug_time_index()
返回自脚本启动到指定脚本索引行所用时间
(二)生产的文件
运行的项目的目录,然后会得到以下文件。
(三)安装解析程序
得到这些文件之后要如何分析呢?
这是时候可以下载:
https://sourceforge.net/projects/qcachegrindwin/ (如果下载不了,翻一下墙)
(四)qcachegrindwin工具使用
以上可以分析程序的性能以及执行过程,对调试还是很有帮助的。