现在的位置: 首页 > 综合 > 正文

Xdebug—php调试工具

2013年10月08日 ⁄ 综合 ⁄ 共 1262字 ⁄ 字号 评论关闭

参考文章 http://koda.iteye.com/blog/537421

百度百科:http://baike.baidu.com/view/1823486.htm

中文手册 http://www.phptogether.com/xdebugdoc/


XDebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。是一个C语言扩展包(Windows下扩展名为.dll)

1. 很多wamp包已经自带了xdebug扩展,打开php.ini搜索xdebug,可以看到该扩展的一些配置,以及路径,比如我的是“zend_extension = "e:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.0-5.4-vc9.dll",如果没有自带,请根据你的php版本下载http://www.xdebug.com/download.php,然后复制到你的php下的ext目录里,修改php.ini,增加如下信息:

[Xdebug]
zend_extension="x:\PHP\ext\php_xdebug-2.0.5-5.2.dll"
;以下是参数
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir=”x:\Temp”
xdebug.profiler_enable=on
xdebug.profiler_output_dir=”x:\Temp”
;x为你的盘符

详细的参数配置及用法,请参考网友翻译的xdebug手册  http://www.phptogether.com/xdebugdoc/ 

分析xdebug生成的profile文件

在优化php代码执行效率的过程中,有个好办法是利用XDebug或XHProf生成Profile文件,然后查看Profile文件分析整个程序的瓶颈在哪里。如果用XDebug生成Profile文件,方法参见前面的文章学习使用XDebug. 现在XDebug Profile的查看程序有好几个,详细参考http://koda.iteye.com/blog/602123

我用其中的webgrind,  WebGrind和WinCacheGrind的功能差不多,但是WebGrind是基于web的,采用php写的查看工具。看了一下代码,跑在linux的服务器比较好。
    WebGrind是一个基于PHP5的Xdebug profiling的Web前端工具。它仅仅实现了KCachegrind的特性子集,但是安装简单可以工作在几乎所有平台上。

   webgrind运行时,能读到xdebug生成的profile文件(php.ini中指定的xdebug.profiler_output_dir),在下拉中选择对应文件,点击‘update’即可查看性能分析结果。

这里只是简单介绍安装,最重要的是应用,需要不断使用摸索。

抱歉!评论已关闭.