本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

1. MySQL 慢查询日志

2.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
将下载的php_xdebug-2.1.0-5.3-vc6.dll复制到PHP安装目录下的ext目录,ext目录专门用来存放PHP扩展库DLL文件。
配置php.ini
安装Xdebug的最后一步就是配置php.ini文件,在末尾添加

Java代码

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

Xdebug的crontab定时删除一天之前的日志文件,只在测试环境装

Java代码

在优化php代码执行效率的过程中,有个好办法是利用XDebug或XHProf生成Profile文件,然后查看Profile文件分析整个程序的瓶颈在哪里。如果用XDebug生成Profile文件现在XDebug Profile的查看程序有好几个

WinCacheGrind 是windows下的profile查看程序,使用起来感觉还不错,profile文件太大的话偶尔会崩溃。

KCachegrind 是linux下的一个图形化profile查看工具,功能很强劲。