什么是Xdebug?
Xdebug是一个PHP的扩展用于调试PHP程序,用于调试PHP,可以提供很多有用的调试信息,比如:。
1.Xdebug的安装
首先假设我们的开发平台是windows XP上面已经安装好了Apache、PHP(点击查看:如何在windows下安装Apache、PHP),PHP安装在C:\php目录。
先到Xdebug的官方网站http://xdebug.org/去下载对应你PHP版本的Xdebug的DLL文件,下载下来放在PHP的ext目录(c:\php\ext\),你可以按照其他扩展的命名方式,去掉后面Xdebug的版本编号直接改成php_xdebug.dll。
然后修改php.ini,先找到你机器上配置的php.ini的位置(c:\php\php.ini或者c:\windows\php.ini),在文件的最后加上Xdebug配置信息
[Xdebug]
zend_extension_ts=”c:/php/ext/php_xdebug.dll”
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir=”c:\Temp\xdebug”
xdebug.profiler_enable=on
xdebug.profiler_output_dir=”c:\Temp\xdebug”
参数解释:
zend_extension_ts=”c:/php/ext/php_xdebug.dll”
;加载xdebug,不能用extension=php_xdebug.dll的方式加载,必须要以zend的方式加载,否则安装上 后,phpinfo打印出来的里的xdebug段的会有Must LOADED AS ZEND EXTENSION的警告信息(原因未知)。
xdebug.auto_trace=on;
;自动打开“监测函数调用过程”,该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
xdebug.collect_params=on;
;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.collect_return=on
;打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.trace_output_dir=”c:\Temp\xdebug”
;设定函数调用监测信息的输出文件的路径,注意这个目录需要手动建立。
xdebug.profiler_enable=on
;打开效能监测器。
xdebug.profiler_output_dir=”c:\Temp\xdebug”;
;设定效能监测信息输出文件的路径。
还有一些更为具体的参数设定,详见:http://www.xdebug.org/docs-settings.php
配置好以后,重新启动Apache,用phpinfo()就可以查看Xdebug扩展的相关信息了如下。

Xdebug的安装已经好了,那么现在如何进行调试呢?
现在写一个php文件,通过浏览器访问,去看看配置的信息输出文件目录c:\Temp\xdebug 是不是多了几个文件,这就是调试的输出信息。用记事本打开可以看到很详尽的记录,可是我们查看起来非常不方便。Xdebug官方提供了一个 Debug client,熟悉英文的朋友可以直接去看看说明,我英文不好所以也没有介绍。这里另外推荐一款非常方便的查看调试信息软件wincachegrind。
2.wincachegrind查看Xdebug调试信息
先到http://sourceforge.net/projects/wincachegrind/下载安装wincachegrind,由于伟大的GFW,可能暂时无法下载这里一共一个本地的绿色版本(上网搜的来自一个网友的修改,网友网址忘记了。)
打开后点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值C:\Temp\xdebug)这样就可以比较直观的查看效能监测文件的信息了。

参考资料:
http://www.leeyupeng.com/archives/325
http://www.lostk.com/blog/install_xdebug/