本文 8586 pv

2

Xdebug安装终极教程

© kekehu / 技术资源 / 2010.03.26 / 15:11 / 8586PV

FQA:
xdebug是什么?
xdebug是一个开源的php调试器,以php模块的形式加载并被使用。
点击在新窗口中浏览此图片

windows 平台下:
一、安装xdebug模块
1、去xdebug官网http://www.xdebug.org/download.php下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称。

   提示:下载时 VC9、VC6、Thread Safe、Non Thread Safe 是什么意思?
   VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache
   来架设的,那你就选择 VC6 版本。
   VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS
   来架设的,那你就选择 VC9 版本。
   PHP 的两种执行方式:ISAPI 和 FastCGI。
   ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处
   理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高
   程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;
   而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,
   除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,
   建议选择 Non Thread Safe 版本

2、修改php.ini,增加如下信息

[Xdebug]
zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.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”

提示:如果PHP的版本是5.3.0,从XDEBUG官方下载的DLL始终都无法生效。
首先,确保加载zend_extension_ts变为了zend_extension


参数解释:
zend_extension_ts="d:/php/ext/xdebug-xxx.dll"
加载xdebug模块。这里不能用extension=xdebug-xxx.dll的方式加载,必须要以zend的方式加载,否则安装上后, phpinfo打印出来的里的xdebug段的会有XDEBUG NOT LOADED AS ZEND EXTENSION的警告信息。

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

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

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

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

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

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

另外,xdebug 不能和 Zend Optimizer 以及其他 Zend 扩展 (DBG, APC, APD etc) 同时工作,目前这个问题正在修复中。

还有一些更为具体的参数设定,详见:http://www.xdebug.org/docs-settings.php

4. 重启Apache;
5. 写一个test.php
内容为
<?php phpinfo(); ?>

如果输出的内容中有看到xdebug,说明安装配置成功。
点击在新窗口中浏览此图片

Xdebug使用
从一个最简单的出错信息开始,到复杂的调试,一步一步向你演示Xdebug的使用。
Xdebug教程之Xdebug使用:http://www.phpq.net/tutorial/xdebug-use.html

Xdebug配置
根据Xdebug的官方文档来详细解释Xdebug的参数配置。
Xdebug教程之 Xdebug配置:http://www.phpq.net/tutorial/xdebug-config.html

Xdebug调试
列举如何通过Xdebug来获取PHP程序的一些调试信息。
Xdebug教程之Xdebug 调试:http://www.phpq.net/tutorial/xdebug-debug.html

WinCacheGrind工具
教你如何利用Xdebug配合WinCacheGrind工具来检测PHP代码的效率以及分析PHP代码。
Xdebug教程之WinCacheGrind:http://www.phpq.net/tutorial/xdebug-wincachegrind.html

ubuntu 平台下安装
一、安装xdebug
1. 先到xdebug.org下载最新的源码包。
2. 编译安装
tar -zxvf xdebug-xxx.tgz
cd xdebug-xxx
phpize
./configure --enable-xdebug
make
sudo make install

3. 修改配置文件php.ini,添加下面一行
zend_extension_ts="/wherever/you/put/it/xdebug.so"
这里的/wherever/you/put/it/是 xdebug.so 所在的目录
第一行将装入 Xdebug 扩展;第二行将启用 Xdebug 的分析器功能,而第三行将启用扩展的调试功能。

一些推荐的配置
xdebug.default_enable = On
xdebug.profiler_enable = On
xdebug.show_exception_trace = On
xdebug.show_local_vars = 1
xdebug.max_nesting_level = 50
xdebug.var_display_max_depth = 6
xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.REQUEST = *
xdebug.dump.SERVER = REQUEST_METHOD, REQUEST_URI, HTTP_USER_AGENT

4. 重启apache,然后再phpinfo信息里就可以看到 Xdebug 的部分了。

二、安装 Debug client
1. 下载 Debug client
2. 解压缩源代码包,然后安装
cd debugclient
./configure --with-libedit
make
sudo make install

参考文章:
http://xdebug.org/docs/install
http://www.leeyupeng.com/?p=325

本文有 2 篇评论

  1. @ idjoy Email 说 :
    2010.06.01 01:14
    avatar

    不配置监听端口?

  2. @ 游客 说 :
    2010.05.14 11:15
    avatar

    我也装一个试试!

1/1 第一页 1 最后页

发表你的见解

打开HTML 打开UBB 打开表情 隐藏 记住我
emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot
emotemotemotemotemot