xdebug是一个开源的php代码调试工具,支持运行时栈输出,运行时函数调用跟踪,代码覆盖率分析,性能数据采集以及内部状态显示
1.下载安装xdebug
在xdebug下载页,我们选择合适的版本进行安装,本文使用centos系列。
- 下载源码
$ wget http://xdebug.org/files/xdebug-2.3.3.tgz
- 解压安装
$ tar zxvf xdebug-2.3.3.tgz $ cd xdebug-2.3.3 $ phpize $ ./configure $ make && make install
2.配置xdebug
修改php.ini文件
[Xdebug]
xdebug.profiler_enable=On
xdebug.trace_output_dir=/YOU_WANT_TO_SAVE_PATH/xdebug-output
xdebug.profiler_output_dir=/YOU_WANT_TO_SAVE_PATH/xdebug-output
web服务需要重启php-fpm
3.使用xdebug
现在每次调用php脚本,就会自动在YOU_WANT_TO_SAVE_PATH/xdebug-output
生成相应的新能数据文件。
4. 分析性能文件
性能文件可以使用专门的工具(win/mac下可以使用QCacheGrind,linux下可以使用KCacheGrind)。以QCacheGrind为例,界面左侧”Flat Profile”展示函数调用列表,Incl.
包括子函数的调用时间,Self
为去除子函数后自身消耗的时间。
5. 示例
示例代码
//test.php
<?php
testXdebug();
function testXdebug() {
require_once('abc.php');
}
//abc.php
<?php
echo "hello";
profile分析效果:
5. 扩展资料
- xdebug文档
xdebub-doc - 360开源的PHP分析工具
phptrace