Windows下XDebug 手工配置与使用说明

yipeiwu_com5年前PHP代码库

1. 下载XDebug二进制文件: http://www.xdebug.org/download.php
  5.2 http://www.xdebug.org/files/php_xdebug-2.1.0-5.2-vc6.dll
  5.3 http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc6.dll
2. 找到php.ini
3. 如果配置过 ZendOptimizer, 需要先屏蔽 ZendOptimizer 有关的配置, 通常如下:
  [Zend]
  zend_extension_manager.optimizer_ts="path\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0"
  zend_extension_ts="path\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"
4. 加入 XDebug 配置:
  zend_extension_ts="path/xdebug/php_xdebug-2.1.0-5.2-vc6.dll"
  [Xdebug]
  xdebug.profiler_enable=on
  xdebug.trace_output_dir="path\xdebug"
  xdebug.profiler_output_dir="path\xdebug"
  xdebug.remote_enable=on
  xdebug.remote_handler=dbgp
  xdebug.remote_host=localhost
  xdebug.remote_port=9000
  说明: 上面 "path" 的地方需要修改为你自己的本地路径.
5. 重启 Apache 或者 IIS.
6. 查看 phpinfo 的输出, 如果看到 XDebug 的选项, 就说明配置成功了.
以下是其他网友的文章
一、安装xdebug模块
1、去www.xdebug.org下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,如保存成:php_xdebug.dll
2、修改php.ini,增加如下信息

复制代码 代码如下:

[Xdebug]
zend_extension_ts="c:/webserver/php5/ext/php_xdebug.dll"
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir="c:/webserver/php5/debuginfo"
xdebug.profiler_enable=on
xdebug.profiler_output_dir="c:/webserver/php5/debuginfo"

参数解释:
zend_extension_ts="c:/webserver/php5/ext/php_xdebug.dll"
;加载xdebug模块。这里不能用extension=php_xdebug.dll的方式加载,必须要以zend的方式加载,否则安装上后,phpinfo是显示不出xdebug这个项的。
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
3、重启apache
这样,在本地运行php的时候,会在所设定的目录里产生一些调试信息的文件:
函数调用过程监测信息文件的文件名格式:trace.××××××.xt。这个文件可以直接查看,里面包含了函数运行的时间,函数调用的参数值,返回值,所在的文件和位置等信息。内容格式还是相对直观的。
效能监测文件的文件名格式:cachegrind.out.××××××××。
这个文件也可以直接查看,不过信息格式不易被人类所理解,
所以我们需要接下来的一个软件。
二、安装wincachegrind
由于效能监测文件:cachegrind.out.××××××××文件的内容不易被人类所理解,所以我们需要一个工具来读取它。windows下就有一款这样的软件:wincachegrind。
1、到http://sourceforge.net/projects/wincachegrind/下载安装wincachegrind
2、安装运行后,点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值)
这样就可以比较直观的查看效能监测文件的信息了。

相关文章

PHP基于swoole多进程操作示例

PHP基于swoole多进程操作示例

本文实例讲述了PHP基于swoole多进程操作。分享给大家供大家参考,具体如下: 多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行) 比如,我们要对已知的用户...

PHP数组相加操作及与array_merge的区别浅析

发现问题 今天看到一段代码,是这么写的,感觉不熟悉,下面粘贴出来看看: <?php $array_one = [ 内容 ]; $array_two = [ 内容 ];...

php实现约瑟夫问题的方法小结

本文实例总结了php实现约瑟夫问题的方法。分享给大家供大家参考。具体分析如下: 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始...

PHP 中的面向对象编程:通向大型 PHP 工程的办法

这篇文章介绍在 PHP 的面向对象编程(OOP)。我将演示如何用面向对象的概念编出较少的代码但更好的程序。祝大家好运。     面向对象编程的概念...

PHP strtotime函数用法、实现原理和源码分析

源码位置:\ext\date\php_date.c 复制代码 代码如下: /* {{{ proto int strtotime(string time [, int now ]) &nb...