|
一、為什么需要Debugger?
很多php程序員調(diào)試使用echo、print_r()、var_dump()、printf()等,其實對 于有較豐富開發(fā)經(jīng)驗的程序員來說這些也已經(jīng)足夠了,他們往往可以在程序執(zhí)行的過程中,通過輸出特定變量的值可以判斷程序執(zhí)行是否正確,甚至效率高低也可以 看出來(當然可能還需要使用一些時間函數(shù))。那么我們?yōu)槭裁催€需要一個專門的調(diào)試程序來監(jiān)控我們的程序運行呢? 這個問題的答案不妨留到后面來揭曉。
二、什么是Xdebug?
Xdebug是一個開放源代碼的php程序調(diào)試器(即一個Debug工具),可以用來跟蹤,調(diào)試和分析php程序的運行狀況。
三、Windows 下 XDebug 安裝與配置
1. 下載XDebug二進制文件: http://www.xdebug.org/download.php
請根據(jù)php版本選擇下載,例如:
復制代碼 代碼如下:5.2 http://www.xdebug.org/files/php_xdebug-2.1.2-5.2-vc6.dll
5.3 http://www.xdebug.org/files/php_xdebug-2.1.2-5.3-vc6.dll
2. 找到并打開 php.ini 文件
3. 如果配置過 ZendOptimizer, 需要先屏蔽 ZendOptimizer 有關的配置, 通常如下:
復制代碼 代碼如下:[Zend]
zend_extension_manager.optimizer_ts=”path/ZendOptimizer-3.3.0/lib/Optimizer-3.3.0″
zend_extension_ts=”path/ZendOptimizer-3.3.0/lib/ZendExtensionManager.dll”
將其刪除或用分號注釋掉,如改為:
復制代碼 代碼如下:;[Zend]
;zend_extension_manager.optimizer_ts=”path/ZendOptimizer-3.3.0/lib/Optimizer-3.3.0″
;zend_extension_ts=”path/ZendOptimizer-3.3.0/lib/ZendExtensionManager.dll”
4. 加入 XDebug 配置。參考如下:
復制代碼 代碼如下:[Xdebug]
zend_extension_ts=”path/xdebug/php_xdebug-2.1.2-5.2-vc6.dll”
xdebug.auto_trace=on
xdebug.trace_output_dir=”path/xdebug”
xdebug.profiler_enable=on
xdebug.profiler_output_dir=”path/xdebug”
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
說明:
上面 “path” 的地方需要修改為你自己的本地路徑.
參數(shù)解釋:
復制代碼 代碼如下:
zend_extension_ts=”c:/webserver/php5/ext/php_xdebug.dll”
;加載xdebug模塊。這里不能用extension=php_xdebug.dll的方式加載,必須要以zend的方式加載,否則安裝上后,phpinfo是顯示不出xdebug這個項的。
xdebug.auto_trace=on;
;自動打開“監(jiān)測函數(shù)調(diào)用過程”的功模。該功能可以在你指定的目錄中將函數(shù)調(diào)用的監(jiān)測信息以文件的形式輸出。此配置項的默認值為off。
xdebug.collect_params=on;
;打開收集“函數(shù)參數(shù)”的功能。將函數(shù)調(diào)用的參數(shù)值列入函數(shù)過程調(diào)用的監(jiān)測信息中。此配置項的默認值為off。
xdebug.collect_return=on
;打開收集“函數(shù)返回值”的功能。將函數(shù)的返回值列入函數(shù)過程調(diào)用的監(jiān)測信息中。此配置項的默認值為off。
xdebug.trace_output_dir=
;設定函數(shù)調(diào)用監(jiān)測信息的輸出文件的路徑。
xdebug.profiler_enable=on
;打開效能監(jiān)測器。
xdebug.profiler_output_dir=
;設定效能監(jiān)測信息輸出文件的路徑。
還有一些更為具體的參數(shù)設定,詳見:http://www.xdebug.org/docs-settings.php
5. 重啟web服務器,如 Apache 或者 IIS
6. 查看 phpinfo 的輸出, 如果看到 XDebug 的選項, 就說明配置成功了.
7. 調(diào)試信息文件查看。
在本地運行php程序,會在所設定的目錄里產(chǎn)生一些調(diào)試信息的文件,主要包括:
a. 函數(shù)調(diào)用過程監(jiān)測信息文件,文件名格式:trace.××××××.xt。該文件可直接查看,里面包含了函數(shù)運行的時間,函數(shù)調(diào)用的參數(shù)值,返回值,所在的文件和位置等信息。內(nèi)容格式相對直觀。
b. 效能監(jiān)測文件,文件名格式:cachegrind.out.××××××××。
該文件也可以直接查看,但信息格式不易被人類所理解,我們可以安裝 wincachegrind 軟件,以格式化地讀取它。 下載安裝方法參考如下:
下載:http://sourceforge.NET/projects/wincachegrind/
下載后安裝運行,然后點擊Tools->options,設定 working folder(php.ini里 xdebug.profiler_output_dir 的值)
這樣就可以比較直觀的查看效能監(jiān)測文件的信息了。
四、linux下 XDebug 安裝與配置
linux 下可以下載源代碼編譯安裝,方法參考如下。
1.下載對應 php 版本的源代碼 source: http://www.xdebug.org/download.php
例如xdebug-2.1.2.tgz版本:http://www.xdebug.org/files/xdebug-2.1.2.tgz
2. 編譯安裝
復制代碼 代碼如下:tar -xvzf xdebug-2.1.2.tgz
cd xdebug-2.1.2
./configure
make
make install
如果有報錯 phpize 沒有這個command,那么安裝它:
復制代碼 代碼如下:sudo apt-get install php5-dev
3. 將xdebug.so文件移到php5下面
復制代碼 代碼如下:cp modules/xdebug.so /usr/lib/php5/
4. 編輯php.ini,加入下面幾行:
復制代碼 代碼如下:[Xdebug]
zend_extension= /usr/lib/php5/xdebug.so
xdebug.profiler_enable=on
xdebug.trace_output_dir=”../xdebug”
xdebug.profiler_output_dir=”../xdebug”
5. 重啟Apache,測試是否安裝成功
如果輸出的內(nèi)容中有看到xdebug,說明安裝配置成功。
php技術:Windows和Linux中php代碼調(diào)試工具Xdebug的安裝與配置詳解,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。