PHP扩展Xdebug的安装使用实例

Q:xdebug是什么?

A:xdebug是一个开源的php调试器,以php模块的形式加载并被使用。

上周发现xdebug出了RC(release candidate)2版了,就拿下来安装了一下,顺便写了一个安装手册,希望对大家有用。

linux xdebug模块和相关工具的安装:

测试环境:Ubuntu12.04+PHP 5.3.10

 代码如下 复制代码

# 获取xdebug最新源码包
git clone git://github.com/derickr/xdebug.git
cd xdebug/
# 如果没有安装phpize扩展,请尝试:apt-get install phpize
phpize
./configure --enable-xdebug
make && make install

我这边生成的路径为:/usr/lib/php5/20090626+lfs/xdebug.so
然后更改php.ini文件
自行选择增加这些配置选项

 代码如下 复制代码

[xdebug]
;扩展文件路径
zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so
 
;开启自动跟踪
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
;跟踪格式
xdebug.trace_format = 0
;输出文件夹
xdebug.trace_output_dir=/tmp/xdebug
;输出文件名格式
xdebug.trace_output_name = trace.%c.%p
;开启分析器
xdebug.profiler_enable = On
;输出路径
xdebug.profiler_output_dir = /tmp/xdebug
;输出文件名格式
xdebug.profiler_output_name = cachegrind.out.%p
;记录内存使用情况
xdebug.show_mem_delta = On

配置完成后可使用php -i|grep xdebug查询配置好的值


windows系统xdebug模块安装

1、去www.xdebug.org下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,如保存成:xdebug-2.0.0RC1.dll
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”

参数解释:
zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.dll”
;加载xdebug模块。这里不能用extension=xdebug-2.0.0RC1.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

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的运行后的函数调用过程监测信息都写到了一个trace.××××××.xt中,哪个达人要是知道就给指条明路吧

时间: 2024-11-27 15:00:23

PHP扩展Xdebug的安装使用实例的相关文章

PHP加密扩展库Mcrypt安装和实例_php实例

mcrypt简单介绍PHP程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障.PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库Mcrypt和Mhash.其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原.mcrypt 是 php 里面重要的加密支持扩展库,linux环境下:该库在默认情况下不开启.window环境下:PHP>=5.3,默认开启mcrypt扩展.1.Mcrypt()库的安装 mcypt是一

Centos PHP 扩展Xchche的安装教程_php实例

注意事项: 1.opcode是啥?php执行的时候,会被编译成opcode,然后zend引擎会执行opcode 2.php中eAccelerator.memcached.xcache.APC 4个加速.缓存扩展的区别 参考:http://www.jb51.net/article/88281.htm xcache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如

一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版)

原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版) 上一篇:一个完整的安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样:如需刊登,请与作者联系.little_fairycat@126.com. 第三部分:其他 1. 修改显示界面的风格 Installshield 原始安装界面我始终觉得很丑,幸好Installscript 是可以不用写代码就可以改界面风格的.

Linux(CentOS)下PHP扩展PDO编译安装的方法_php技巧

本文讲述了Linux(CentOS)下PHP扩展PDO编译安装的方法.分享给大家供大家参考,具体如下: 这里是以 CentOS 为例,红帽系列的 Linux 方法应该都是如此,下面就详细说明步骤,在这里严重鄙视哪些内容啰嗦.说的杂七杂八的有关 PDO 编译安装的文章. 1.进入 PHP 的软件包 pdo 扩展目录中(注:不是 PHP 安装目录) [root@gamejzy /]# cd /tmp/lamp/php-5.3.19/ext/pdo_mysql/ 注:我的 php 软件包在 /tmp/

PHP扩展开发教程(总结)_php实例

PHP是一种解释型的语言,对于用户而言,我们精心的控制内存意味着easier prototyping和更少的崩溃!当我们深入到内核之后,所有的安全防线都已经被越过,最终还是要依赖于真正有责任心的软件工程师来保证系统的稳定运行. 1.线程安全宏定义 在TSRM/TSRM.h文件中有如下定义 #define TSRMLS_FETCH()       void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL) #define TSRMLS_FETCH_FR

linux下php扩展pdo_mysql编译安装教程

linux下的php扩展与windows下的扩展安装有些不同.下面就拿在linux下扩展php的pdo,pdo_mysql模块来说明一下 1.在php的原码安装包里,进入到etc/pdo_mysql里.假设你的php是安装在/usr/local/php里的.执行/usr/local/php/bin/phpize 2. 进行编译../configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/loc

php5中Xdebug配置安装步骤介绍

Xdebug版本下载 http://www.xdebug.com/download.php 注意在下载Xdebug时我们必须查看自己php版本之后与xdebug一样,并且要查看你的php是线程安全或非线程序安全的,否则可以没有用哦. 下载好 php_xdebug.dll 之后我们复制到你的php ext目录,如 D:/phpStudy/PHP5/ext/php_xdebug.dll 这个是我本地的,放好之后再把php.ini文件进行修改,加入下面代码  代码如下 复制代码 [Xdebug] ze

【安装】AIX安装单实例11gR2 GRID+DB

[安装]AIX安装单实例11gR2 GRID+DB   1.1  BLOG文档结构图       1.2  前言部分   1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 基于aix安装11gR2的grid和db软件(重点) ② 静默安装     Tips:        ① 若文章代码格式有错乱,推荐使用QQ.搜狗或360浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://yun

Centos PHP 扩展Xchche的安装教程

注意事项: 1.opcode是啥?php执行的时候,会被编译成opcode,然后zend引擎会执行opcode 2.php中eAccelerator.memcached.xcache.APC 4个加速.缓存扩展的区别 参考:http://www.jb51.net/article/88281.htm xcache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如