這裏只是對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 = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "D:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.-%s"
詳細的參數說明可以參考官方文檔,英文水平不行,就不翻譯了