欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP调试及性能分析工具Xdebug详解

程序员文章站 2024-03-07 11:12:51
程序开发过程中,一般用得最多的调试方法就是用echo、print_r()、var_dump()、printf()等将语句打印出来。对php脚本的执行效率,通常是脚本执行时间...

程序开发过程中,一般用得最多的调试方法就是用echo、print_r()、var_dump()、printf()等将语句打印出来。对php脚本的执行效率,通常是脚本执行时间。对数据库sql的效率,通常是数据库query时间,但这样并不能真正定位和分析脚本执行和数据库查询的瓶颈所在?对此,有一个叫xdebug(www.xdebug.org)的php程序调试器(即一个debug工具),可以用来跟踪,调试和分析php程序的运行状况。

一、以windows平台对此模块的安装做简单的介绍:

1. 下载php的xdebug扩展,网址:http://xdebug.org/(这个根据你目前使用的php版本而定);

2. 将下载的模块(php_xdebug-2.0.5-5.2.dll)放到php的安装的 ext 目录下;

3. 配置php.ini文件,将以下几行添加

**************************************

extension=php_xdebug-2.0.5-5.2.dll
[xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="e:/projects/xdebug" #放置xdebug输出的数据文件的目录
xdebug.profiler_output_dir="e:/projects/xdebug"
********************************************************

4. 重启apache服务器。完成!!!

5. <?php echo phpinfo();?>如果输出的内容中有看到xdebug,说明安装配置成功。

6. 在windows平台下,可以用客户端(windows):wincachegrind wincachegrind 这个软件来打开这些文件。可以更直观地显示其中内容:

二、以linux平台作简单的介绍:

1. 在linux下编译安装xdebug

[root@localhost src]# tar -xvf xdebug-2.0.5
[root@localhost xdebug-2.0.5]# /usr/local/php/bin/phpize
[root@localhost xdebug-2.0.5]# ./configure --enable-xdebug --with-php-config=/usr/locar/php/bin/php-config
[root@localhost xdebug-2.0.5]# make
可以将生成的 xdebug.so 拷贝到 extension_dir 所指向的路径目录。

2. 配置

vi /usr/local/php/lib/php.ini 修改php.ini,去除php加速模块,增加以下配置信息支持xdebug扩展
#extension=vld.so  //是输出opcodes的模块
extension=xdebug.so
[xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="/tmp/xdebug"
xdebug.profiler_output_dir="/tmp/xdebug"
xdebug.profile_output_name="script"

注:也可使用 [root@localhost xdebug-2.0.5]# /usr/local/php/bin/php -m 列出所有的扩展模块

3. 重启web服务器

[root@localhost xdebug-2.0.5]# service httpd restart      ok!!!

xdebug工具会将跟踪的错误信息以日记的形式写入到输出的数据文件中,可以文件去查看,但为了更直观,还有一个图形界面的工具来分析跟踪的日记记录。wincachegrind (wincachegrind.souceforge.net)此软件直接安装就行,从图形窗口中可以将整个程序的结构,每个函数被调用的次数,执行时间都一目了然。很专业很方便!!!

总结:xdebug可以跟踪程序的运行,通过对日志文件的分析,我们可以迅速找到程序运行的瓶颈所在,提高程序效率,从而提高整个系统的性能。

以上这篇php调试及性能分析工具xdebug详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。