`
xiaobo.liu
  • 浏览: 40129 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

php windows xdebug的安装使用(1)

    博客分类:
  • php
阅读更多
配置 Xdebug

zend_extension_ts=E:\php-5.2.17\ext\php_xdebug-2.1.2-5.2-vc6.dll
xdebug.default_enable = On
xdebug.show_exception_trace = On
xdebug.show_local_vars = 1
xdebug.max_nesting_level = 50
xdebug.var_display_max_depth = 6

xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.REQUEST = *
xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT

xdebug.dump_once、xdebug.dump_globals、xdebug.dump_undefined 和 xdebug.dump_SUPERGLOBAL 设置(其中 SUPERGLOBAL 可以是 COOKIE、FILES、GET、POST、REQUEST、SERVER 或 SESSION)用于控制哪些 PHP 超全局变量将被包含在所有诊断结果中。

将 xdebug.dump_globals 设为 On 以转储名为 xdebug.dump_SUPERGLOBAL 设置中的超全局变量。例如,xdebug.dump_SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT 将打印 PHP 超全局变量 $_SERVER['REQUEST_METHOD']、$_SERVER['REQUEST_URI'] 和 $_SERVER['HTTP_USER_AGENT']。如果需要打印超全局变量数组中的所有值,请使用星号 (*),例如 xdebug.dump_REQUEST=*。如果进一步将 xdebug.dump_undefined 设为 On 并且不设定指定的超全局变量,则仍用值 undefined 打印变量。

即使捕捉到异常,代码行 xdebug.show_exception_trace = On 仍将强制执行异常跟踪。代码行 xdebug.show_local_vars = 1 将打印每个函数调用的最外围中的所有局部变量,包括尚未初始化的变量。而 xdebug.var_display_max_depth = 6 表示转储复杂变量的深度。



跟踪代码

解决错误 —— 如解开神秘谋杀之谜 —— 通常要求构造详细的时间线。例如,内存泄漏通常不会把自身表明为一个错误计算。相反,操作将正常进行,直至内存用尽,然后应用程序突然终止。如果内存泄漏由于某些请求而恶化,可能会不断出现错误并且难以预测。在内存使用量与时间之间建立映射的时间线将揭示泄漏的严重程度。一条精细的时间线 —— 比如,从函数到函数 —— 将进一步指出泄漏源。

Xdebug 可以提供一条详细的时间线进行执行跟踪。当跟踪被启用后,Xdebug 将记录所有函数调用,包括每个函数的参数和返回值。您可以将每个日志或跟踪 的格式设为符合人类阅读习惯或者机器可读的格式。您最好使用前者,虽然您可能编写独立而特定的应用程序来分析后者。

同转储一样,Xdebug 有若干个 php.ini 选项用于自定义跟踪内容。例如,下面一批设置将生成最详细的输出。

xdebug.trace_format = 0
xdebug.auto_trace = On
xdebug.trace_output_dir = /tmp/traces
xdebug.trace_output_name = trace.%c.%p

xdebug.collect_params = 4
xdebug.collect_includes = On
xdebug.collect_return = On
xdebug.show_mem_delta = On

设定 xdebug.auto_trace = 1 将在执行所有 PHP 脚本之前先启用自动跟踪。另外,您可以通过代码设定 xdebug.auto_trace = 0,并分别使用 xdebug_start_trace() 和 xdebug_stop_trace() 函数启用和禁用跟踪。但是,如果 xdebug.auto_trace 为 1,则可以在包括配置好的 auto_prepend_file 之前先启动跟踪。

选项 xdebug.trace_ouput_dir 和 xdebug.trace_output_name 用于控制保存跟踪输出的位置。在这里,所有文件都被保存到 /tmp/traces 中,并且每个跟踪文件都以 trace 为开头,后接 PHP 脚本的名称(%s)以及进程 ID(%p)。所有 Xdebug 跟踪文件都以 .xt 后缀结尾。

默认情况下,Xdebug 将显示时间、内存使用量、函数名和函数调用深度字段。如果将 xdebug.trace_format 设为 0,则输出将符合人类阅读习惯(将参数设为 1 则为机器可读格式)。此外,如果指定 xdebug.show_mem_delta = 1,则可以查看内存使用量是在增加还是在减少,而如果指定 xdebug.collect_params = 4,则可以查看传入参数的类型和值。要监视每个函数返回的值,请设定 xdebug.collect_return = 1。
 
分享到:
评论

相关推荐

    windows下安装Xdebug+WinCacheGrind

    在Windows环境下,安装Xdebug和WinCacheGrind是开发者为了进行PHP性能分析的重要步骤。Xdebug是一个强大的PHP扩展,主要用于调试和性能分析,而WinCacheGrind则是一个可视化的工具,用于解析Xdebug生成的profiling...

    PHP_XDEBUG for windows

    PHP_Xdebug是一款强大的PHP调试工具,尤其在Windows环境下与WAMP(Windows Apache MySQL PHP)服务器组合使用时,它为开发者提供了更深入的错误检测和调试功能。Xdebug不仅有助于捕获运行时错误,还能提供详细的堆栈...

    Windows xp下apache + php 安装 Xdebug 扩展

    windows xp 下 apache + php 安装Xdebug 附件中 含有 Xdebug的dll扩展库文件 和 详细的 安装步骤,如果使用的是 php的其他版本 请到 www.Xdebug.org/download.php 下载相应版本

    php_xdebug.dll

    是Xdebug在Windows系统下的核心组件,通过正确安装和配置,Xdebug能够提供强大的PHP代码调试和性能分析能力。熟练掌握Xdebug的使用,能有效提升开发效率,保证代码质量,是每个PHP开发者必备的技能之一。在不断学习...

    使用xdebug调试PHP程序

    1. **下载DLL文件**:首先登录Xdebug官方网站(www.xdebug.org),在首页右侧找到Windows modules部分,选择适合当前PHP版本的模块,例如PHP5.1.2+,下载对应的`php_xdebug-5.1.2-2.0.0beta6.dll`文件。 2. **复制...

    php7.0_xdebug.rar

    1. **安装Xdebug**:首先,你需要下载对应PHP版本的Xdebug DLL,如"php_xdebug-2.7.0alpha1-7.0-vc14-nts.dll",这个文件是针对PHP 7.0和VC14编译器(Visual C++ 2015)且非线程安全(NTS)版本的。将DLL文件放入PHP...

    php_xdebug_vc11-x86_64.dll

    1. **Xdebug的安装与配置**:在Windows环境下,你需要将"php_xdebug_vc11-x86_64.dll"文件放到PHP的扩展目录下,并在php.ini配置文件中添加相应的配置条目,如`zend_extension=path/to/php_xdebug_vc11-x86_64.dll`...

    php-xdebug

    首先,Xdebug的安装:在Windows环境下,你需要将php-xdebug.dll文件放到PHP的扩展目录下,并在php.ini配置文件中添加相应的配置项,如`zend_extension=php_xdebug.dll`。确保文件路径正确无误,并重启服务器使更改...

    zend调试PHP_XDebug调试PHP_zend11.0

    标题提到的"zend调试PHP_XDebug调试PHP_zend11.0"是指在使用Zend Studio 11.0.2这个集成开发环境(IDE)时,通过XDebug工具来调试PHP代码的过程。这个过程主要涉及到以下几个关键知识点: 1. **XAMPP安装**: - ...

    php xdebug5.6

    zend_extension=xdebug.so # Windows下可能为xdebug.dll,路径需对应实际位置 xdebug.default_enable=1 xdebug.remote_enable=1 xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.idekey="PHPSTORM" # ...

    xdebug--PHP调试工具

    在Windows环境下,你需要根据你的PHP版本和编译器选择合适的Xdebug扩展来安装。 2. `WinCacheGrind.exe`:这是一个用于可视化Xdebug生成的profiling数据的工具。当Xdebug的性能分析功能被启用时,它会产生一个名为`...

    php调试之Netbeans + xdebug 配置全攻略

    - **配置Xdebug插件**:在Netbeans中安装Xdebug插件。 - **配置调试选项**:在项目设置中开启调试选项,并指定Xdebug的配置文件位置以及调试端口等参数。 #### 三、常见问题及解决方法 在配置过程中可能会遇到...

    php如何搭建Zend Studio开发环境+Xdebug安装配置教程使php代码可设置断点进行调试.zip

    本教程将指导你如何搭建一个使用Zend Studio的PHP开发环境,并配置Xdebug,以便能够设置断点进行调试。首先,我们需要了解几个核心概念: 1. **PHP**: PHP是一种广泛使用的开源脚本语言,主要用于Web开发,可以嵌入...

    sublime text 3 + php + xdebug开发环境搭建

    1. 下载Xdebug扩展:访问Xdebug官网(https://xdebug.org/wizard.php)根据你的PHP版本和服务器环境选择合适的Xdebug版本。 2. 将下载的 `.dll` 或 `.so` 文件放入PHP的`ext`目录下,并在`php.ini`文件中添加或修改...

    php_xdebug-2.7.2-7.1-nts-vc14-x64.zip

    标题 "php_xdebug-2.7.2-7.1-nts-vc14-x64.zip" 提供的信息表明,这是一个包含 PHP Xdebug 扩展的特定版本压缩包。...这个压缩包提供了一个离线安装的选项,确保在官方源不稳定时也能顺利安装和使用 Xdebug。

    xdebug-2.0.4.tgz

    1. 登录www.xdebug.org,在首页右侧有一个Windows modules,选择其中的PHP5.1.2+,下载php_xdebug-5.1.2-2.0.0beta6.dll文件; 2. 将下载的php_xdebug-5.1.2-2.0.0beta6.dll放到C:\php5\ext目录,重命名为...

    xdebug-3.1.0 用来debug

    总之,Xdebug 3.1.0 为 PHP 开发者提供了一套全面的调试工具,通过细致的配置和使用,可以显著提升问题排查的效率,让开发工作更加顺畅。熟悉并掌握 Xdebug 的使用,是每个 PHP 开发者的必备技能。

    zend studio php 调试插件 xdebug-2.2.3-5.2-vc9

    5. **验证**:通过运行PHP命令行并查看返回信息,或使用专用的在线工具检查Xdebug是否成功安装。 使用Xdebug进行调试时,可以利用其提供的功能: - **断点**:在源代码中设置断点,使得执行在特定行暂停,以便检查...

    PHPSTORM XMAPP XDEBUG 整合PHP 调试开发

    1. 指定XDEBUG扩展的位置 2. 设置XDEBUG远程主机为localhost 3. 设置XDEBUG的追踪信息输出目录 4. 开启远程调试功能 5. 设置远程调试端口为9001 6. 设置IDE Key为"PHPSTORM" 7. 开启Profiler功能 8. 设置Profiler的...

    phpStrom和eclipsephp的Xdebug配置方法

    1. **安装Xdebug扩展**:确保你的PHP环境已经安装了Xdebug。如果没有,需要下载对应版本的Xdebug源码,编译并安装到PHP的扩展目录,然后在php.ini文件中启用它,通常添加`zend_extension=path/to/xdebug.so`...

Global site tag (gtag.js) - Google Analytics