Xdebug配置

打开网页:

http://xdebug.org/wizard.php

2、将你调用phpinfo()返回来的HTML源码黏贴到上述网页提示的文本框中
 
3、提交之后会显示你的使用PHP信息。
至此,xdebug官网会提示你下载哪个版本的xdebug,有时会提示没有适合你的版本。但是,我们可以不理会。
主要关注以下信息:
Windows:(PHP使用什么编译器等信息)
PHP Version: (PHP版本号)
Thread Safe Build: (该PHP是否线程安全)
Configuration File: (PHP配置文件所在位置)
Extensions directory: (PHP扩展组件目录)
 
4、根据上面的信息,就可以找到你所要的版本了。http://www.xdebug.org/download.php
指适应5.2版本的PHP,并且使用VC6编译器,非线程安全
指适应5.2版本的PHP,并且使用VC6编译器,线程安全(TS)
 
5、下载了所需版本之后,将文件拷贝到Extensions directory所指目录,之后修改Extensions directory所指文件php.ini,在文件末尾追加以下信息:
[Xdebug]
zend_extension_ts="<Extensions diectory所指目录>/<下载的dll文件名>"
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir="<日志输出目录>"
xdebug.profiler_enable=on
xdebug.profiler_output_dir="<输出路径>"
 
6、重启服务器(Apache或者IIS)
 
7、再出输出phpinfo(),显示
Xdebug配置 - cecil2007 - ︻=-虚┈┾
with Xdebug的信息则证明成功
 
remark:
不同的php环境可能需要不同的xdebug.dll文件,并且有可能有些是用zend_extension_ts有些是用zend_extension。
 
再参看这个配置:
http://e.v-get.com/tech/20131105/0614321117.html

1、 下载 Xdebug Windows binaries 二进制文件: http://www.xdebug.org/download.php,下载的时候注意Xdebug 版本和 PHP 版本的兼容性,具体兼容性请参考:www.xdebug.org

注意Xdebug 下载zend_extension 和 zend_extension_ts区别
注意Xdebug 下载zend_extension 和 zend_extension_ts区别

注意:下载的时候一定要区分PHP 版本,以及用zend_extension 和 zend_extension_ts 区别。

2、 打开PHP 路径下的php.ini,如果配置过 ZendOptimizer, 需要先屏蔽 ZendOptimizer 有关的配置, 通常如下:

[Zend] 
zend_extension_manager.optimizer_ts="path\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0" 
zend_extension="path\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"

3、 如果没有配置过ZendOptimizer,就直接加入 XDebug 配置:

[Xdebug]
; 如果是 PHP 5.4 VC9 TS 那么就用 zend_extension 扩展,否则用zend_extension_ts扩展,这里案例是下载的 PHP 5.4 VC9 TS 版本。
zend_extension="【PHP 路径】\ext\php_xdebug-【Xdebug 下载的版本】.dll"
; 如果是 TS
; Xdebug described by E.V-Get.com
xdebug.profiler_enable=on 
xdebug.trace_output_dir="【PHP 路径】\xdebug" 
xdebug.profiler_output_dir="【PHP 路径】\xdebug" 
xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 

说明: 上面 【PHP 路径】 的地方需要修改为你自己的本地路径,如“D:\PHP\”

Xdebug 配置说明:

xdebug.default_enable=on ;显示默认的错误信息

xdebug.auto_trace=on ;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。

xdebug.collect_params=on ;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。

xdebug.collect_return=on ;打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。

xdebug.max_nesting_level=100

xdebug.profiler_enable=on ;打开效能监测器。

xdebug.remote_enable=on ;是否调试

xdebug.remote_host=localhost

xdebug.remote_port=9000 ;调试端口

xdebug.remote_handler=dbgp ;选择协议

xdebug.trace_output_dir="d:\Temp" ;设定函数调用监测信息的输出文件的路径。

xdebug.profiler_output_dir="d:\Temp" ;设定效能监测信息输出文件的路径。

设置完参数,重启服务器,使用 phpinfo() 函数查看是否有 xdebug 项目,安装是否成功。

4、 重启 Apache 或者 IIS 服务器

5、 写一个<PHP echo phpinfo();?> 代码,用于查看 phpinfo 的输出, 如果看到 XDebug 的选项, 就说明配置成功了。

PHPinfo() 里面的Xdebug
PHPinfo() 里面的Xdebug

Xdebug 使用方法

我们先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。

<?php
testXdebug();
function testXdebug() {
       require_once('abc.php');
}
?>

然后通过浏览器访问,我们惊奇地发现,出错信息变成了彩色的了,发现了什么? Xdebug跟踪代码的执行,找到了出错的函数testXdebug()。

Xdebug跟踪代码的执行并找到错误所在
Xdebug跟踪代码的执行并找到错误所在

 
posted @ 2013-03-13 08:40  Mose  阅读(403)  评论(0编辑  收藏  举报