平常开发一些效率要求比较高的功能模块时,常常需要分析程序的运行瓶颈在哪。用下面这个工具可以很方便的查看PHP的脚本执行过程。下面是配置步骤:
1. PHP安装XDEBUG,网上很多教程,下面贴上php.ini中的配置项
[xdebug]
zend_extension=/usr/local/php54/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so
xdebug.profiler_output_dir="/mnt/hgfs/web/log/xdebug"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_autostart = On
xdebug.remote_enable = On
xdebug.profiler_enable_trigger=1
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
这样配置后,平常执行php程序并不会生成性能调试文件,只有在url的后缀加上url参数 XDEBUG_PROFILE=1 才会生成调试文件。调试文件在 xdebug.profiler_output_dir 这个参数配置的路径中。
2. 安装解析调试文件的工具 qcachegrind
下载地址:http://sourceforge.net/projects/qcachegrindwin/
打开 qcachegrind,选择前面生成的调试文件打开即可查看。
其实有好几个这种类型的工具,这个是我用过觉得比较直接明了的。