1.软件下载
xdebug下载 http://www.xdebug.org/download.php
选择下载版本 如php-5.3.28-nts-Win32-VC9-x86
phpeclipse下载 :
http://sourceforge.net/projects/phpeclipse/files/a%29%20Eclipse%203.3.x/PHPEclipse-1.2.3/PHPEclipse-1.2.3.200910091456PRD-bin.zip/download
2.软件安装
将文件放到php/ext文件夹下即可,如C:\php-5.3-iis-fastcgi\ext
3.配置
xdebug配置
打开php.ini
在最后一行加入以下配置代码,配置说明已经做好注释
******************************************************************************************* ;载入Xdebugzend_extension= "c:/php-5.3-iis-fastcgi/ext/php_xdebug-2.2.5-5.3-vc9-nts.dll"
;xdebug配置
[Xdebug]
;IP
xdebug.remote_host=127.0.0.1
;port
xdebug.remote_port=9000
;选择协议
xdebug.remote_handler=dbgp
;开启自动跟踪
xdebug.auto_trace = On
;开启异常跟踪
xdebug.show_exception_trace = On
;开启远程调试自动启动
xdebug.remote_autostart = On
;开启远程调试
xdebug.remote_enable = On
;收集变量
xdebug.collect_vars = On
;收集返回值
xdebug.collect_return = On
;收集参数
xdebug.collect_params = On
查看phpinfo是否配置成功
phpeclipse配置
1.在phpeclipse下创建一个项目eclipsephp,项目的路径为服务器权限路径 如 G:\mywww\eclipsephp
2.在项目下添加一个文件file.php,里面的内容是
<?php
print("1111111");
print("222222");// 在左边栏右键添加一个XDebug Breakpoint
?>
3.右击项目eclipsephp,Debug As -> Debug Configurations -> 创建PHP XDebug Remote Script(name:eclipsephp):
Project => eclipsephp
Ide Identification String => testID
在Pathmap下新建一个内容
Local_Path =>G:\mywww\eclipsephp
Remote Path => G:\mywww\eclipsephp
完成这些后点击Debug
在eclipse切换到Debug视图即可看到程序已运行到断点处
参数设置
配置参数选项 | 参数值类型与默认值 | 参数选项描述 |
---|---|---|
xdebug.auto_trace | boolean类型,默认值=0 | 是否在脚本运行之前自动调用相关追踪函数。 |
xdebug.cli_color | integer类型,默认值=0 | 该参数自2.2版本开始引入。如果值=1,当处于CLI模式或连接虚拟控制台时,Xdebug将高亮显示var_dumps()和堆栈输出,;在Windows中,这需要安装ANSICON工具。如果值=2,不管是否处于CLI模式或连接虚拟控制台,Xdebug都会高亮显示var_dumps()或堆栈输出;这种情况下,你可能会看到转义后的代码。 |
xdebug.collect_assignments | boolean类型,默认值=0 | 该参数自2.1版本开始引入。用于控制是否为函数跟踪添加变量赋值功能。 |
xdebug.collect_includes | boolean类型,默认值=1 | 控制是否在跟踪文件中写入include()、include_once()、require()、require_once()等函数中用到的文件名。 |
xdebug.collect_params | integer类型,默认值=0 |
控制在调用函数时,是否收集传递给函数的参数信息。如果参数值过大,这可能会占用大量的内存;不过,在Xdebug 2中不会出现该问题,因为Xdebug 2将相关数据写入磁盘中,而不是占用内存。
如果值=0,则不显示任何信息。
如果值=1,只显示类型和大小信息,例如:string(6)、array(8)。
如果值=2,将显示类型和大小,以及全部信息的工具提示。
如果值=3,将显示变量的全部内容。
如果值=4,将显示变量的全部内容和变量名。
|
xdebug.collect_return | boolean类型,默认值=0 | 控制是否在追踪文件中写入函数调用的返回值。 |
xdebug.collect_vars | boolean类型,默认值=0 | 控制是否收集指定作用域中的变量信息。由于需要反向工程PHP的操作码数组,因此Xdebug的分析速度可能比较慢。 |
xdebug.coverage_enable | boolean类型,默认值=1 | 该参数自2.2版本开始引入。控制是否允许通过设置内部结构来启用代码覆盖率功能。 |
xdebug.default_enable | boolean类型,默认值=1 | 当发生异常或错误时,是否默认显示堆栈信息。 |
xdebug.dump.* | string类型,默认值=Empty |
这里的*可以是COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION中的任意一个。用于指定发生错误时是否显示超全局变量数组中的索引变量信息。比如,你想要显示请求的IP地址和请求方式,可以设置为
xdebug.dump.SERVER=REMOTE_ADD,REQUEST_METHOD
多个索引变量用英文逗号隔开,如果要输出其中的所有变量,可以直接用*,例如:
xdebug.dump.GET=*
|
xdebug.dump_globals | boolean类型,默认值=1 | 控制是否显示通过xdebug.dump.*定义的所有超全局变量的信息。 |
xdebug.dump_once | boolean类型,默认值=1 | 如果出现多个错误,控制超全局变量信息是在所有错误中显示,还是只在第一个错误中 |
xdebug.dump_undefined | boolean类型,默认值=1 | 控制是否显示超全局变量中未定义的值 |
xdebug.extended_info | integer类型,默认值=1 | 是否强制进入PHP解析器的"extended_info"模式,这将允许Xdebug以远程调试器对文件或行添加断点。开启此模式将拖慢脚本的允许速度,该参数只能在php.ini中设置。 |
xdebug.file_link_format | string类型,默认值=, | 自2.2版本开始引入。用于指定堆栈信息中用到的文件名称的链接样式,这允许IDE通过设置链接协议,直接点击堆栈信息中的文件名称,即可快速打开指定的文件。例如:ZendStudio://%f@%l(%f表示文件路径,%f表示行号)。 |
xdebug.force_display_errors | integer类型,默认值=0 | 自2.3版本开始引入。是否强制显示错误信息。 |
xdebug.force_error_reporting | integer类型,默认值=0 | 自2.3版本开始引入。是否强制显示所有错误级别的信息。 |