Xdebug 安装与应用

之前,一直在用Xdebug,但是自己还没有尝试过安装,也没尝试过对Xdebug的应用提升,今天正好有空尝试了下。

Xdebug:是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

安装:

$ wget http://xdebug.org/files/xdebug-2.1.3.tgz
$ tar -zxvf xdebug-2.1.3.tgz
$ cd xdebug-2.1.3/
$ /usr/local/php/bin/phpize
$ ./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config
$ make
$ make install
$ cd /usr/local/php/lib
$ vim php.ini
[Xdebug]
extension="xdebug.so"
xdebug.auto_trace=0
xdebug.collect_params=4
xdebug.collect_return=on
xdebug.show_mem_delta=1  #查看内存使用量
xdebug.profiler_enable=0  #只对指定的页面调试,和‍xdebug.profiler_enable_trigger连用
xdebug.profiler_output_dir="/tmp/"
xdebug.profiler_enable_trigger=1  #通过XDEBUG_PROFILE的get/post请求触发页面调试
$ /usr/local/apache2/bin/apachectl restart

安装成功后,显示如下截图:

应用

随便写了个php,测试下报错信息是否已经是应用Xdebug,截图如下:

应用提升:

register_shutdown_function('xdebug_stop_trace');

xdebug_start_trace("/tmp/xLog_test");

/*此处省略过程代码*/

xdebug_stop_trace();

生成的Xdebug日志文件/tmp/xLog_test.xt,部分内容截图如下:

通过Xdebug的日志,我们可以了解到时间和内存的使用情况,也可以了解陌生产品架构的方式,还可以通过执行时间快速的定位问题。

运用WinCacheGrind.exe:
1.WinCacheGrind.exe,下载地址:http://sourceforge.net/projects/wincachegrind/
2.如果xdebug.profiler_enable_trigger = 1开启状态,可以用游览器+调试参数XDEBUG_PROFILE来生成cachegrind.out.xxxx的文件,比如用游览器访问:http://www.superzc.com/index.php?id=1&XDEBUG_PROFILE。然后在xdebug.profiler_output_dir=”/tmp/”设置的目录下就生成了一个cachegrind.out.xxxx的文件;
3.最后用WinCacheGrind来解读这个文件,点击菜单栏的”File” –> “Open…”,选择cachegrind.out.xxxx文件,然后打开,如下图:

发表评论