`

php及xdebug使用小结

    博客分类:
  • PHP
阅读更多
  php下搭配使用xdebug是十分好的组合,用于php的调试工作,下面分别介绍之:
1 WINDOWS下的安装
  下载站点http://www.xdebug.org/
要确定使用一个跟你的PHP配合的版本才行,比如xdebug中的5。2系列版本是跟5.2
的php搭配的,5.3系列的跟5.3的PHP搭配的。目前的版本是2。1,然后你会发现
有相应的线程安全和非安全两个版本。如何知道下载哪个版本呢,可以将你跑
PHPINFO时的显示出来网页的源代码,COPY到
http://www.xdebug.org/find-binary.php中,然后提交,然后XDEBUG为告诉你
应该下载哪个版本了

   将下载的文件放到d:\php\ext目录,重命名为php_xdebug.dll。
然后修改PHP。INI如下:
[Xdebug]
zend_extension="D:\php\ext\php_xdebug.dll"
xdebug.profiler_output_dir="D:\php53\xdebug"
xdebug.profiler_enable=On
xdebug.profiler_enable_trigger=1
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.trace_output_dir="D:\php53\xdebug"

注意要建立一个xdebug目录放调试输出的文件。
重新启动apache,在phpinfo中就可以看到有关XDEBUG的部分了

2 LINUX下的安装
  tar -xzf xdebug-2.0.0RC3.gz
cd xdebug-2.0.0RC3
/usr/local/php/bin/phpize
./configure --enable-xdebug
cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/
 
注:/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/不同的PHP版本路径不同,也不一定要放在该路径,可以在zend_extension_ts中自行指定xdebug.so所在位置。


3 使用,可以写个简单程序去看效果,比如:
<?php
testXdebug();
function testXdebug() {
      require_once('abc.php');
}
?>
运行后,可以看到是象JAVA一样,用堆栈的方式去输出错误的相关部分的。

4 分析xdbebug下面的输出文件
   因为这个目录下的文件比较难理解,因此可以下载工具来分析之,比如:
KCacheGrind(适用于Linux)、WinCacheGrind(适用于Windows)和Webgrind(Web页面方式)。
  我用的是WinCacheGrind(http://sourceforge.net/projects/wincachegrind)
之后就可以打开输出文件来去看了。

5 xdebug的一些配置
xdebug.default_enable
类型:布尔型 默认值:On
如果这项设置为On,堆栈跟踪将被默认的显示在错误事件中。你可以通过在代码中使用xdebug_disable()来禁止堆叠跟踪的显示。因为这是xdebug基本功能之一,将这项参数设置为On是比较明智的。

xdebug.max_nesting_level
类型:整型 默认值:100
The value of this setting is the maximum level of nested functions that are allowed before the script will be aborted.
限制无限递归的访问深度。这项参数设置的值是脚本失败前所允许的嵌套程序的最大访问深度。

xdebug.dump_globals
类型:布尔型 默认值:1
限制是否显示被xdebug.dump.*设置定义的超全局变量的值
例如,xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT 将打印 PHP 超全局变量 $_SERVER['REQUEST_METHOD']、$_SERVER['REQUEST_URI'] 和 $_SERVER['HTTP_USER_AGENT']。

xdebug.dump_once
类型:布尔型 默认值:1
限制是否超全局变量的值应该转储在所有出错环境(设置为Off时)或仅仅在开始的地方(设置为On时)

xdebug.dump_undefined
类型:布尔型 默认值:0
如果你想从超全局变量中转储未定义的值,你应该把这个参数设置成On,否则就设置成Off

xdebug.show_exception_trace
类型:整型 默认值:0
当这个参数被设置为1时,即使捕捉到异常,xdebug仍将强制执行异常跟踪当一个异常出现时。

xdebug.show_local_vars
类型:整型 默认值:0
当这个参数被设置为不等于0时,xdebug在错环境中所产生的堆栈转储还将显示所有局部变量,包括尚未初始化的变量在最上面。要注意的是这将产生大量的信息,也因此默认情况下是关闭的。


xdebug.profiler_append
类型:整型 默认值:0
当这个参数被设置为1时,文件将不会被追加当一个新的需求到一个相同的文件时(依靠xdebug.profiler_output_name的设置)。相反的设置的话,文件将被附加成一个新文件。

xdebug.profiler_enable
类型:整型 默认值:0
开放xdebug文件的权限,就是在文件输出目录中创建文件。那些文件可以通过KCacheGrind来阅读来展现你的数据。这个设置不能通过在你的脚本中调用ini_set()来设置。

xdebug.profiler_output_dir
类型:字符串 默认值:/tmp
这个文件是profiler文件输出写入的,确信PHP用户对这个目录有写入的权限。这个设置不能通过在你的脚本中调用ini_set()来设置。

xdebug.profiler_output_name
类型:字符串 默认值:cachegrind.out%p
这个设置决定了转储跟踪写入的文件的名称。

远程Debug
相关参数设置
xdebug.remote_autostart
类型:布尔型 默认值:0
一般来说,你需要使用明确的HTTP GET/POST变量来开启远程debug。而当这个参数设置为On,xdebug将经常试图去开启一个远程debug session并试图去连接客户端,即使GET/POST/COOKIE变量不是当前的。

xdebug.remote_enable
类型:布尔型 默认值:0
这个开关控制xdebug是否应该试着去连接一个按照xdebug.remote_host和xdebug.remote_port来设置监听主机和端口的debug客户端。

xdebug.remote_host
类型:字符串 默认值:localhost
选择debug客户端正在运行的主机,你不仅可以使用主机名还可以使用IP地址

xdebug.remote_port
类型:整型 默认值:9000
这个端口是xdebug试着去连接远程主机的。9000是一般客户端和被绑定的debug客户端默认的端口。许多客户端都使用这个端口数字,最好不要去修改这个设置。

2
0
分享到:
评论

相关推荐

    XDebug For Php5.5

    总结,XDebug是PHP开发者的重要工具,它与Eclipse的结合使用使得PHP的调试和性能分析更加高效。正确选择和配置XDebug版本,以及在IDE中进行集成,是充分利用这一工具的关键。理解并掌握这些知识点,将极大地提升你的...

    php_xdebug.dll

    《深入理解PHP Xdebug扩展与调试工具的使用》 PHP Xdebug是一款强大的PHP扩展,它为开发者提供了丰富的调试和分析功能。Xdebug是PHP社区中不可或缺的开发辅助工具,尤其对于那些致力于提升代码质量和性能的程序员来...

    php_xdebug-2.2.7-5.3-vc9-nts.dll php_xdebug-2.5.5-5.5-vc11.dll

    总结来说,Xdebug是PHP开发中不可或缺的工具,其强大的调试和分析能力使得代码调试变得简单高效。正确选择和配置Xdebug DLL文件,能有效提升开发效率,同时注意版本与环境的匹配,以避免潜在的问题。

    php_xdebug2.5.4~2.7.0

    在使用Xdebug之前,开发者需要根据自己的PHP版本和系统环境选择合适的Xdebug版本,然后将对应的 `.dll` 或 `.so` 文件放入PHP的 `ext` 目录下,并在 `php.ini` 文件中添加相应的配置选项,例如: ``` zend_extension...

    Xdebug配置和PHPStorm配置

    #### 一、Xdebug简介及下载 Xdebug是一款强大的PHP扩展,主要用于提供PHP代码的调试与性能分析功能。它通过与IDE(如PHPStorm)结合,使得开发人员能够方便地进行断点调试、性能优化等工作。 - **下载地址**:...

    CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录

    总结来说,本文涉及的知识点包括CentOS服务器的基础环境准备、PHP及其常用扩展的安装和配置、Redis数据库的安装和配置、PHP扩展PHPRedis的安装和配置、XDebug的安装和配置以及Nginx和MySQL的基本安装。这些知识是...

    php+zend13配置xdebug详细步骤

    ### PHP与Xdebug配置详解 #### 一、前言 Xdebug是一款强大的PHP扩展,主要用于调试和分析PHP程序。它可以提供详细的代码执行信息,帮助开发者更有效地定位问题所在。本文将详细介绍如何在PHP环境中配置Xdebug,并...

    php xDebug调试组件

    总结来说,Xdebug是PHP开发者的得力助手,它使得代码调试不再困难,性能分析更加直观。合理利用Xdebug,可以显著提升开发质量和效率。在实际工作中,熟练掌握Xdebug的使用技巧,是成为一名优秀PHP开发者的必备技能之...

    xdebug-5.6.zip

    **Xdebug扩展详解** ...总结来说,Xdebug是PHP开发中的一款神器,它通过强大的调试和性能分析能力,帮助开发者更有效地找出问题、优化代码。正确配置和使用Xdebug,能够显著提升PHP项目的开发质量和效率。

    xdebug-2.5.5.tgz

    总结,Xdebug 2.5.5在Linux环境下的应用为PHP开发者提供了强大的调试和性能分析支持。正确安装和配置Xdebug,可以极大地提升开发效率,让问题排查变得更加简单。无论是在本地还是远程服务器,Xdebug都能成为PHP开发...

    xdebug插件

    总结来说,Xdebug是PHP开发不可或缺的辅助工具,它提供了强大的调试功能,配合Eclipse可以提升开发效率,减少bug查找时间,优化代码质量。正确安装和配置Xdebug及Eclipse的集成,将使PHP开发工作更加得心应手。

    xdebug-2.1.2.tgz

    总结来说,Xdebug 2.1.2是PHP开发者不可或缺的工具,它提供的调试和性能分析功能极大地提升了开发效率和代码质量。通过正确安装和配置,开发者可以充分利用Xdebug的功能,让代码调试工作变得更为得心应手,同时也能...

    php100-102PHP5.3 Xdebug 错误分析与性能调试 .rar

    总结,Xdebug是PHP开发者的得力助手,通过熟练掌握其错误分析和性能调试功能,能显著提高开发效率,提升代码质量。结合“使用说明文档.txt”和“102.wmv”提供的资源,深入学习和实践,将使你对Xdebug的运用更加...

    chrome的扩展程序--xdebug

    **安装与使用Xdebug Helper** 1. **下载安装**:从官方渠道或第三方市场(如Chrome Web Store)下载xdebug helper-1.4.3.crx文件,拖拽到Chrome浏览器的扩展管理页面进行安装。 2. **配置Xdebug**:在服务器端的...

    xdebug-chrome.rar

    总结来说,Xdebug Chrome插件是PHP开发者在Web开发过程中的得力助手,它简化了调试流程,提高了问题排查的效率。只需按照上述步骤,你就能轻松地将它添加到你的开发工具箱中,享受高效便捷的PHP调试体验。

    Xdebug 生成的cachegrind 阅读器

    Xdebug是一款广泛使用的PHP扩展,主要功能是提供调试和分析性能的能力。它为开发者提供了丰富的调试信息,包括变量跟踪、堆栈信息以及代码执行的详细统计。Xdebug的强大之处在于它能帮助我们找出代码中的瓶颈,优化...

    PHP CHROME调试插件 xdebug helper-1.4.3

    **PHP Chrome调试插件Xdebug Helper 1.4.3** 在PHP开发过程中,调试是不可或缺的一个环节,它能帮助开发者查找并修复代码中的错误,提高编程效率。Xdebug Helper是一款专门为Chrome浏览器设计的PHP调试插件,它使得...

    php xdebug1.5.3.zip

    总结起来,PHP Xdebug 1.5.3是PHP开发中不可或缺的调试工具,它的各项功能为开发者提供了有力的支持,使项目调试变得更加高效和精准。无论你是初学者还是经验丰富的开发者,掌握Xdebug的使用都将显著提升你的工作...

Global site tag (gtag.js) - Google Analytics