了解知识
  说到PHP代码调试,对于有经验的PHPer,通过echo、print_r、var_dump函数,或PHP开发工具zend studio、editplus可解决大部分问题,但是对于PHP入门学习的童鞋来说有一定的难度,而且仅仅通过上述这些PHP调试手段,也很难准确发现PHP性能方面的问题,Xdebug是一个非常有用的PHP调试工具。
 
  Xdebug作为PHP调试工具,提供了丰富的调试函数,也可将Xdebug安装配置为zend studio、editplus调试PHP的第三方插件,通过开启自动跟踪(auto_trace)和分析器功能,可以直观的看到PHP源代码的性能数据,以便优化PHP代码。今天和大家分享PHP调试工具Xdebug安装以及配置方面的基础知识。
 
  Xdebug在PHP中的安装配置涉及php.ini配置文件的修改。
 
  Xdebug安装教程
 
  下载Xdebug
 
  首先我们需要下载Xdebug,务必根据安装的PHP版本,选择合适的Xdebug版本,由于我是在Windows环境下安装PHP的,所以选择下载Windows版本的Xdebug2.1.0(5.3 VC6 (32 bit)),下载下来的Xdebug文件为php_xdebug-2.1.0-5.3-vc6.dll,这是由于Xdebug是作为PHP模块的形式被安装配置与使用的。
 
  Xdebug安装提示:如果你不清楚安装的PHP版本,你可以通过phpinfo()函数参看,同时Xdebug也提供了phpinfo输出信息分析工具来帮助你分析如何安装Xdebug,只要将phpinfo输出信息复制提交即可,地址:Xdebug phpinfo信息分析地址
 
  安装Xdebug
 
  将下载的php_xdebug-2.1.0-5.3-vc6.dll复制到PHP安装目录下的ext目录,此处为C:\php\ext,ext目录专门用来存放PHP扩展库DLL文件。
 
  配置php.ini
 
  安装Xdebug的最后一步就是配置php.ini文件,打开C:\php目录下的php.ini配置文件,在末尾添加
 
 
 
  1. [Xdebug] 
  2. zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll" 
 
 
最后重启Apache服务器,通过phpinfo()函数,可以看到
 
 
 
 
 
 
  Xdebug配置提示:PHP5.3之前版本配置Xdebug时使用zend_extension_ts,对于PHP5.3以上版本,使用zend_extension。
 
  XDEBUG NOT LOADED AS ZEND EXTENSION信息出现的原因
 
  出现XDEBUG NOT LOADED AS ZEND EXTENSION的原因是在安装Xdebug时由于我们将Xdebug的DLL文件复制到了php\ext目录下,容易以PHP扩展库的形式加载Xdebug,在php.ini文件中添加了
 
 
  1. extension=php_xdebug-2.1.0-5.3-vc6.dll 
 
 
 
 
这是错误的Xdebug安装方式,必须以zend方式加载。
 
  至此PHP Xdebug的基础安装教程就结束了,下面我们需要对Xdebug作一些基础配置。
 
Xdebug配置教程
 
  在安装完Xdebug后,我们还需要对Xdebug做基础配置,默认Xdebug的PHP函数自动跟踪(auto_trace)功能、分析器功能并没有开启,作为调试PHP代码的需要,有些Xdebug配置选项最好开启。
 
  在此之前我们需要创建Xdebug自动跟踪以及分析器输出文件的存放目录,务必确保目录是可读写的,此处我在D:\PHPWeb\下创建了xdebug\trace以及xdebug\profiler目录。
 
  最后在php.ini配置文件中完成Xdebug的配置工作,找到
 
 
  1. [Xdebug] 
  2. zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll" 
 
 
在此之后添加Xdebug配置信息
 
 
  1. xdebug.auto_trace=1 
  2. xdebug.collect_params=1 
  3. xdebug.collect_return=1 
  4. xdebug.trace_output_dir="D:/PHPWeb/xdebug/trace" 
  5. xdebug.profiler_enable=1 
  6. xdebug.profiler_output_dir="D:/PHPWeb/xdebug/profiler"  
 
 
最后保存php.ini,并重启Aapche服务器即可。
 
Xdebug部分配置选项说明
 
  xdebug.auto_trace = 1
 
  是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0
 
  collect_params = 1
 
  是否允许Xdebug跟踪函数参数,默认值为0
 
  xdebug.collect_return = 1
 
  是否允许Xdebug跟踪函数返回值,默认值为0
 
  xdebug.profiler_enable = 1
 
  打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0
 
  xdebug.profiler_output_dir
 
  性能分析文件的存放位置,默认值为/tmp
 
  xdebug.profiler_output_name
 
  性能分析文件的命名规则,默认值为cachegrind.out.%p
 
  xdebug.trace_output_dir
 
  函数调用跟踪信息输出文件目录,默认值为/tmp
 
  xdebug.trace_output_name
 
  函数调用跟踪信息输出文件命名规则,默认为trace.%c
 
  特别说明:Xdebug的trace和profiler的输出文件名规则是可以更改的,比如将文件名命名为具体跟踪的PHP执行文件名、进程ID、随机数等,非常方便,更多的Xdebug配置选项说明,请参考官网的Xdebug配置选项说明。
 
  至此PHP调试工具Xdebug教程之Xdebug的安装和配置就介绍完了,今后还将陆续介绍Xdebug如何在zend studio以及editplus中配置使用。
标签: PHP Xdebug
扩展知识