zoukankan      html  css  js  c++  java
  • 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在PHP中的安装配置涉及php.ini配置文件的修改。

      Xdebug安装教程

      下载Xdebug

      首先我们需要下载Xdebug,务必根据安装的PHP版本,选择合适的Xdebug版本,由于我是在Windows环境下安装PHP的(请参考Windows 7下安装配置PHP+Apache+Mysql环境教程),所以选择下载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:phpext,ext目录专门用来存放PHP扩展库DLL文件。

      配置php.ini

      安装Xdebug的最后一步就是配置php.ini文件,打开C:php目录下的php.ini配置文件,在末尾添加

    1
    2
    [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文件复制到了phpext目录下,容易以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 race以及xdebugprofiler目录。

      最后在php.ini配置文件中完成Xdebug的配置工作,找到

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

    在此之后添加Xdebug配置信息

    1
    2
    3
    4
    5
    6
    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.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配置选项说明

    转载自:http://www.leapsoul.cn/?p=935

  • 相关阅读:
    IDEA创建maven项目
    Error:java:错误:不支持发行版本 5(或写着其他版本的~)
    IDEA配置maven
    IDEA、maven3.6.3安装、环境配置(windows10)
    MySQL(版本8.0.19)服务的启动/停止、登录/登出、修改密码
    Struts2表单提交的中文字符数据用hibernate存储在数据库中是乱码的问题。
    (异常分析)Dispatcher initialization failed Caused by: Action class [*] not found
    (异常分析)实例化Configuration 的时候提示:Cannot instantiate the type Configuration
    (转)(异常分析) org.hibernate.MappingException: entity class not found
    (转)not found while looking for property错误
  • 原文地址:https://www.cnblogs.com/guoyongrong/p/3300883.html
Copyright © 2011-2022 走看看