最近安裝了一下xedug,而且學習了一下如何使用。安裝xdebug的初衷是爲了深刻研究一下PHP的垃圾回收機制。php
Xdebug是一個開放源代碼的PHP程序調試器(即一個Debug工具),能夠用來跟蹤,調試和分析PHP程序的運行情況。linux
先說一下安裝吧。我使用的php版本是5.3.3,windows 32 爲環境。web
先從http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc6.dll 下載了拓展文件windows
放入php的ext目錄下。函數
接着改寫了php.ini工具
[Xdebug] zend_extension="E:/wamp/bin\php/php5.3.3/ext/php_xdebug-2.1.0-5.3-vc6.dll" xdebug.auto_trace=on xdebug.collect_params=on xdebug.collect_return=on xdebug.trace_output_dir="E:/wamp/webserver/php5/debuginfo" xdebug.profiler_enable=on xdebug.profiler_output_dir="E:/wamp/webserver/php5/debuginfo"
保存配置,重啓,在phpinfo中看到拓展安裝成功。性能
linux下安裝http://blog.csdn.net/rainysia/article/details/6780470學習
xdebug的學習優化
Xdebug是一個開放源代碼的PHP程序調試器(即一個Debug工具),能夠用來跟蹤,調試和分析PHP程序的運行情況。spa
安裝xdebug以後,出錯顯示能夠快速定位到那一塊
xdebug_debug_zval()//參數爲變量名稱,返回zval容器
xdebug_time_index() //返回運行至此處的時間,無參數
有時候咱們的程序沒有錯誤,可是並非完美的。xdebug還能夠將運行過程當中的一些信息寫入指定的目錄,便於咱們分析。在優化php代碼執行效率的過程當中,有個好辦法是利用XDebug或XHProf生成Profile文件,而後查看Profile文件分析整個程序的瓶頸在哪裏。若是用XDebug生成Profile文件。有專門查看profile的工具,如webgrind
Xdebug提供了各類自帶的函數,並對已有的某些PHP函數進行覆寫,能夠方便地用於調試排錯;Xdebug還能夠跟蹤程序的運行,經過對日誌文件的分析,咱們能夠迅速找到程序運行的瓶頸所在,提升程序效率,從而提升整個系統的性能。
<?php echo xdebug_peak_memory_usage();//程序運行期間的內存峯值 echo PHP_EOL; echo xdebug_time_index();//時間,比microtime方便,單位是秒 echo PHP_EOL; function testOne(){ echo 'one'; echo PHP_EOL; } function testTwo(){ echo 'two'; echo PHP_EOL; } function testThree(){ echo 'three'; echo PHP_EOL; } echo memory_get_usage();//php自身提供的函數,運行至此佔用的空間,單位byte echo PHP_EOL; echo xdebug_memory_usage();//xdebug提供的,運行至此佔用的內存空間,單位是byte echo PHP_EOL; testOne(); testTwo(); testThree(); //上面哪個函數運行中發生錯誤,錯誤顯示會定位到 echo xdebug_peak_memory_usage();//程序運行期間的內存峯值,與其在腳本中的位置無關 ?>