聽說xdebug 的大名,等見到他的時候已經是 xdebug 2.0.0rc3 的發行版了,沒有用過Xdebug 1.3.1,,感覺就是 profile 變化比較大,正好需要的就是php profile 功能.我照著他 下載他的 doc.tar.gz ,解壓,發現裡面,就是幾個txt文件,後來才發現寫的還都是1.3的.上官方網站的在線文檔才能看到,提供下載的文檔都以落後了,主頁上面的文檔還是很全的。又學會一點,
經常上他的主頁看看,不管有沒有更新。
安裝很順利就是,完畢之後不知道如何開啟功能,第一個看到的明顯變化就是var_dump()
的輸出變地漂亮些,再也沒有發現什麼,debug 功能,目前不需要,感覺有時間debug ,不如,多幾個var_dump
和注釋掉一些代碼,多測試幾便。打斷點和啟動debug ,花的時間太長了。
後來xdebug.org/docs-profiling2.php
找到profile 的文檔,
測試了php 5 中的 file_get_contents 函數 ,php4 中使用php寫的 et_get_file_contents ,一樣的功能。
測試結果在,大概性能1:4左右
等有時間了寫一分詳細點的,
php.in加入xdebug的設置
zend_extension="/opt/lib/xdebug.so"
xdebug.profiler_enable=On
xdebug.show_exception_trace=1
xdebug.auto_trace=On
xdebug.auto_profile=On
xdebug.profiler_output_dir=/profile
xdebug.profiler_output_name=script
xdebug.profiler_append=1
zend_extension="/opt/lib/xdebug.so"
加載xdebug,使用的是zend_extension,而非extension
xdebug.auto_profile=On
開啟自動profile功能
xdebug.profiler_output_dir
設置xdebug profiler的數據存放目錄
xdebug.profiler_output_name=script
設置xdebug profiler的輸出的數據文件以php script名字
如mnt_d_phplib_phpsys2_phpinfo_php_cachegrind.out
否則cachegrind.out.1447918559
xdebug.profiler_append=1
是否追加到文件裡面,統計結果以累計運行次數計算,
還是每次運行計算,覆蓋上次profile的結果.
profiler輸出的數據文件比較大,如果都append的話,
壓力測試的時候會產生,很多數據,上面一個小的例子產生540多k的數據
www:/opt/APC-3.0.14 # php -v
PHP 5.2.2 (cli) (built: May 5 2007 18:43:05)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with Xdebug v2.0.0RC3, Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, by Derick Rethans
建立/profile目錄,歸屬於daemon組(apache)