这里只是对xdebug性能优化(xdebug还可以结合其他ide断点调试等)简单描述下,详细的可以参考xdebug的官方站点 http://xdebug.org/
xdebug是什么
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。(http://baike.baidu.com/view/1823486.htm)
xdebug的安装
php的集成开发环境wampserver和xampp都已安装xdebug,不过可能没有开启,需要到php.ini中开启,通过phpinfo可以得知是否安装了xdebug的扩展;
原生的php环境(win32或者linux)如何安装xdebug,baidu或google下
xdebug跟踪性能的方式
1 使用xdebug的api xdebug_time_index() ,具体的参考http://xdebug.org/docs/basic
2 生成文件,通过工具来分析,具体的参考 http://xdebug.org/docs/profiler
生成文件的方式也有两种:
a 每次执行程序都生成一个文件
b根据get/post/cookie参数生成文件
例:http://localhost/index.php?XDEBUG_PROFILE 注意这里 一定要大写
cookie方式firebug和chrome都有插件
使用这种方式需要将xdebug.profiler_enable设置为0,并开启xdebug.profiler_enable_trigger
工具
Webgrind 这个是基于浏览器的php程序,需要分析的文件不多的情况下,可以很方便的使用
WinCacheGrind win32平台
KCacheGrindtool (Linux/Windows, KDE)
我的部分xdebug参数(没有写的属性都是有默认值的)
zend_extension = "D:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = On
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_dir = "D:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.-%s"