Xdebug是什嗎?它是一款可以用來調試php代碼運行一款工具,下面小編來給大家介紹Xdebug安裝方法,下面教程是基於linux與windows系統的哦。
Q:xdebug是什嗎?
A:xdebug是一個開源的php調試器,以php模組的形式載入並被使用。
上周發現xdebug出了RC(release candidate)2版了,就拿下來安裝了一下,順便寫了一個安裝手冊,希望對大家有用。
linux xdebug模組和相關工具的安裝:
測試環境:Ubuntu12.04+PHP 5.3.10
| 代碼如下 |
複製代碼 |
# 擷取xdebug最新源碼包 git clone git://github.com/derickr/xdebug.git cd xdebug/ # 如果沒有安裝phpize擴充,請嘗試:apt-get install phpize phpize ./configure --enable-xdebug make && make install |
我這邊產生的路徑為:/usr/lib/php5/20090626+lfs/xdebug.so
然後更改php.ini檔案
自行選擇增加這些配置選項
| 代碼如下 |
複製代碼 |
[xdebug] ;擴充檔案路徑 zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so ;開啟自動跟蹤 xdebug.auto_trace = On ;開啟異常跟蹤 xdebug.show_exception_trace = On ;開啟遠端偵錯自動啟動 xdebug.remote_autostart = On ;開啟遠端偵錯 xdebug.remote_enable = On ;收集變數 xdebug.collect_vars = On ;收集傳回值 xdebug.collect_return = On ;收集參數 xdebug.collect_params = On ;跟蹤格式 xdebug.trace_format = 0 ;輸出檔案夾 xdebug.trace_output_dir=/tmp/xdebug ;輸出檔案名格式 xdebug.trace_output_name = trace.%c.%p ;開啟分析器 xdebug.profiler_enable = On ;輸出路徑 xdebug.profiler_output_dir = /tmp/xdebug ;輸出檔案名格式 xdebug.profiler_output_name = cachegrind.out.%p ;記錄記憶體使用量情況 xdebug.show_mem_delta = On |
配置完成後可使用php -i|grep xdebug查詢配置好的值
windows系統xdebug模組安裝
1、去www.xdebug.org下載相應版本php的模組檔案,儲存下載後的檔案到php的ext目錄,可以自己修改檔案的名稱,如儲存成:xdebug-2.0.0RC1.dll
2、修改php.ini,增加如下資訊
| 代碼如下 |
複製代碼 |
[Xdebug] zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.dll” xdebug.auto_trace=on xdebug.collect_params=on xdebug.collect_return=on xdebug.trace_output_dir=”c:/Temp/xdebug” xdebug.profiler_enable=on xdebug.profiler_output_dir=”c:/Temp/xdebug” |
參數解釋:
zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.dll”
;載入xdebug模組。這裡不能用extension=xdebug-2.0.0RC1.dll的方式載入,必須要以zend的方式載入,否則安裝上後,phpinfo列印出來的裡的xdebug段的會有Must LOADED AS ZEND EXTENSION的警告資訊(原因未知)。
xdebug.auto_trace=on;
;自動開啟“監測函數調用過程”的功模。該功能可以在你指定的目錄中將函數調用的監測資訊以檔案的形式輸出。此配置項的預設值為off。
xdebug.collect_params=on;
;開啟收集“函數參數”的功能。將函數調用的參數值列入函數程序呼叫的監測資訊中。此配置項的預設值為off。
xdebug.collect_return=on
;開啟收集“函數傳回值”的功能。將函數的傳回值列入函數程序呼叫的監測資訊中。此配置項的預設值為off。
xdebug.trace_output_dir=”c:/Temp/xdebug”
;設定函數調用監測資訊的輸出檔案的路徑。
xdebug.profiler_enable=on
;開啟效能監測器。
xdebug.profiler_output_dir=”c:/Temp/xdebug”;
;設定效能監測資訊輸出檔案的路徑。
還有一些更為具體的參數設定,詳見:http://www.xdebug.org/docs-settings.php
3、重啟apache
這樣,在本地運行php的時候,會在所設定的目錄裡產生一些調試資訊的檔案:
函數調用過程監測資訊檔的檔案名稱格式:trace.××××××.xt。這個檔案可以直接查看,裡麵包含了函數啟動並執行時間,函數調用的參數值,傳回值,所在的檔案和位置等資訊。內容格式還是相對直觀的。
效能監測檔案的檔案名稱格式:cachegrind.out.××××××××。
這個檔案也可以直接查看,不過資訊格式不易被人類所理解,
所以我們需要接下來的一個軟體。
二、安裝wincachegrind
由於效能監測檔案:cachegrind.out.××××××××檔案的內容不易被人類所理解,所以我們需要一個工具來讀取它。windows下就有一款這樣的軟體:wincachegrind。
1、到http://sourceforge.net/projects/wincachegrind/下載安裝wincachegrind
2、安裝運行後,點擊Tools->options,設定你的working folder(php.ini裡xdebug.profiler_output_dir的值)
這樣就可以比較直觀的查看效能監測檔案的資訊了。
另:不知道是哪個參數沒有設定正確,我機器上所有的php的運行後的函數調用過程監測資訊都寫到了一個trace.××××××.xt中,哪個達人要是知道就給指條明路吧
http://www.bkjia.com/PHPjc/632848.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632848.htmlTechArticleXdebug是什嗎?它是一款可以用來調試php代碼運行一款工具,下面小編來給大家介紹Xdebug安裝方法,下面教程是基於linux與windows系統的哦。...