首页  >  文章  >  后端开发  >  PHP调试工具Xdebug装配配置教程

PHP调试工具Xdebug装配配置教程

WBOY
WBOY原创
2016-06-13 13:04:44825浏览

PHP调试工具Xdebug安装配置教程

说道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安装教程

  下载Xdebug?????? http://xdebug.org
  首先我们需要下载Xdebug,务必根据安装的PHP版本,选择合适的Xdebug版本 ,如果你不清楚安装的PHP版本,你可以通过phpinfo()函数参看,同时Xdebug也提供了phpinfo输出信息分析工具来帮助你分析如何安装Xdebug,只要将phpinfo输出信息复制提交即可,地址:Xdebug phpinfo信息分析地址
  安装Xdebug
  将下载的php_xdebug-2.1.0-5.3-vc6.dll复制到PHP安装目录下的ext目录,ext目录专门用来存放PHP扩展库DLL文件。

  配置php.ini
  安装Xdebug的最后一步就是配置php.ini文件,在末尾添加

[Xdebug]
zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll"

最后重启Apache服务器,通过phpinfo()函数,可以看到

Xdebug配置信息

PHP Xdebug配置信息

  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文件中添加了

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的配置工作,找到

[Xdebug]
zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll"

?在此之后添加Xdebug配置信息

xdebug.auto_trace=1
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.trace_output_dir="D:/PHPWeb/xdebug/trace"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="D:/PHPWeb/xdebug/profiler"

?最后保存php.ini,并重启Aapche服务器即可。

?

利用Xdebug测试脚本执行时间

使用Xdebug_time_index()来显示时间

测试脚本占用的内存:

xdebug_memory_usage()

xdebug还提供了一个xdebug_peak_memory_usage()来查看内存占用的峰值


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中配置使用。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn