设为首页 收藏本站
查看: 698|回复: 0

[经验分享] 【PHP】调试工具xdebug的配置说明

[复制链接]

尚未签到

发表于 2015-8-27 13:04:10 | 显示全部楼层 |阅读模式
为什么需要Debugger?
很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以看出来(当然可能还需要使用一些时间函数)。那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓。   


什么是Xdebug?
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。Xdebug现在的最新版本是xdebug 2.0.0beta6,支持PHP4/PHP5。
官方站点:www.Xdebug.org   

如何安装Xdebug   1、去www.xdebug.org下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,如保存成:php_xdebug.dll
2、修改php.ini,增加如下信息,在文件的最后
  [Xdebug]
zend_extension_ts="c:/php5/ext/php_xdebug.dll"
xdebug.auto_trace=On
xdebug.collect_params=On
xdebug.collect_return=On
xdebug.trace_output_dir="x:/xdebug"
xdebug.profiler_enable=On
xdebug.profiler_output_dir="x:/xdebug"
  建立Debuginfo目录x:/xdebug,否则不会才能生成文件。
zend_extension_ts要是完整路径才有效


  参数解释:


  • zend_extension_ts="c:/webserver/php5/ext/php_xdebug.dll"
    加载xdebug模块。这里不能用extension=php_xdebug.dll的方式加载,必须要以zend的方式加载,否则安装上后,phpinfo是显示不出xdebug这个项的。
  • xdebug.auto_trace=on;
    自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
  • xdebug.collect_params=on;
    打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。
  • xdebug.collect_return=on;
    打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。
  • xdebug.trace_output_dir=”c:\Temp\xdebug”;
    设定函数调用监测信息的输出文件的路径。
  • xdebug.profiler_enable=on;
    打开效能监测器。
  • xdebug.profiler_output_dir=”c:\Temp\xdebug”;
    设定效能监测信息输出文件的路径。
  • 还有一些更为具体的参数设定,详见:http/www.xdebug.org/docs-settings.php
  
3、重启apache这样,在本地运行php的时候,会在所设定的目录里产生一些调试信息的文件:

  • 函数调用过程监测信息文件的文件名格式:trace.XXXXXX.xt。这个文件可以直接查看,里面包含了函数运行的时间,函数调用的参数值,返回值,所在的文件和位置等信息。内容格式还是相对直观的。
  • 效能监测文件的文件名格式:cachegrind.out.XXXXXXXX。
    这个文件也可以直接查看,不过信息格式不易被人类所理解,
    所以我们需要接下来的一个软件。
4、写一个test.php,内容为<?php phpinfo(); ?>,如果输出的内容中有看到xdebug,说明安装配置成功。
DSC0000.gif


5.安装wincachegrind
我们需要一个工具来读取分析效能监测文件cachegrind.out.XXXXXXXXXXX。windows下就有一款这样的软件:wincachegrind。


  • 下载安装wincachegrind 下载地址:http://sourceforge.net/projects/wincachegrind/

  • 安装运行后,点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值)
    这样就可以比较直观的查看效能监测文件的信息了。

DSC0001.gif

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105057-1-1.html 上篇帖子: java/php/c#版rsa签名以及java验签实现--转 下篇帖子: [PHP知识点乱炖]四、全局变量——小偷从良记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表