Windows和Linux中php代碼調(diào)試工具Xdebug的安裝與配置詳解
一、為什么需要Debugger?
很多PHP程序員調(diào)試使用echo、print_r()、var_dump()、printf()等,其實(shí)對 于有較豐富開發(fā)經(jīng)驗(yàn)的程序員來說這些也已經(jīng)足夠了,他們往往可以在程序執(zhí)行的過程中,通過輸出特定變量的值可以判斷程序執(zhí)行是否正確,甚至效率高低也可以 看出來(當(dāng)然可能還需要使用一些時間函數(shù))。那么我們?yōu)槭裁催€需要一個專門的調(diào)試程序來監(jiān)控我們的程序運(yùn)行呢? 這個問題的答案不妨留到后面來揭曉。
二、什么是Xdebug?
Xdebug是一個開放源代碼的PHP程序調(diào)試器(即一個Debug工具),可以用來跟蹤,調(diào)試和分析PHP程序的運(yùn)行狀況。
三、Windows 下 XDebug 安裝與配置
1. 下載XDebug二進(jìn)制文件: http://www.xdebug.org/download.php
請根據(jù)php版本選擇下載,例如:
5.3 http://www.xdebug.org/files/php_xdebug-2.1.2-5.3-vc6.dll
2. 找到并打開 php.ini 文件
3. 如果配置過 ZendOptimizer, 需要先屏蔽 ZendOptimizer 有關(guān)的配置, 通常如下:
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_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 配置。參考如下:
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這個項(xiàng)的。
xdebug.auto_trace=on;
;自動打開“監(jiān)測函數(shù)調(diào)用過程”的功模。該功能可以在你指定的目錄中將函數(shù)調(diào)用的監(jiān)測信息以文件的形式輸出。此配置項(xiàng)的默認(rèn)值為off。
xdebug.collect_params=on;
;打開收集“函數(shù)參數(shù)”的功能。將函數(shù)調(diào)用的參數(shù)值列入函數(shù)過程調(diào)用的監(jiān)測信息中。此配置項(xiàng)的默認(rèn)值為off。
xdebug.collect_return=on
;打開收集“函數(shù)返回值”的功能。將函數(shù)的返回值列入函數(shù)過程調(diào)用的監(jiān)測信息中。此配置項(xiàng)的默認(rèn)值為off。
xdebug.trace_output_dir=
;設(shè)定函數(shù)調(diào)用監(jiān)測信息的輸出文件的路徑。
xdebug.profiler_enable=on
;打開效能監(jiān)測器。
xdebug.profiler_output_dir=
;設(shè)定效能監(jiān)測信息輸出文件的路徑。
還有一些更為具體的參數(shù)設(shè)定,詳見:http://www.xdebug.org/docs-settings.php
5. 重啟web服務(wù)器,如 Apache 或者 IIS
6. 查看 phpinfo 的輸出, 如果看到 XDebug 的選項(xiàng), 就說明配置成功了.
7. 調(diào)試信息文件查看。
在本地運(yùn)行php程序,會在所設(shè)定的目錄里產(chǎn)生一些調(diào)試信息的文件,主要包括:
a. 函數(shù)調(diào)用過程監(jiān)測信息文件,文件名格式:trace.××××××.xt。該文件可直接查看,里面包含了函數(shù)運(yùn)行的時間,函數(shù)調(diào)用的參數(shù)值,返回值,所在的文件和位置等信息。內(nèi)容格式相對直觀。
b. 效能監(jiān)測文件,文件名格式:cachegrind.out.××××××××。
該文件也可以直接查看,但信息格式不易被人類所理解,我們可以安裝 wincachegrind 軟件,以格式化地讀取它。 下載安裝方法參考如下:
下載:http://sourceforge.net/projects/wincachegrind/
下載后安裝運(yùn)行,然后點(diǎn)擊Tools->options,設(shè)定 working folder(php.ini里 xdebug.profiler_output_dir 的值)
這樣就可以比較直觀的查看效能監(jiān)測文件的信息了。
四、linux下 XDebug 安裝與配置
linux 下可以下載源代碼編譯安裝,方法參考如下。
1.下載對應(yīng) php 版本的源代碼 source: http://www.xdebug.org/download.php
例如xdebug-2.1.2.tgz版本:http://www.xdebug.org/files/xdebug-2.1.2.tgz
2. 編譯安裝
cd xdebug-2.1.2
./configure
make
make install
如果有報(bào)錯 phpize 沒有這個command,那么安裝它:
3. 將xdebug.so文件移到php5下面
4. 編輯php.ini,加入下面幾行:
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代碼調(diào)試?yán)鱢irephp安裝與使用方法分析
- PHP使用debug_backtrace方法跟蹤調(diào)試代碼調(diào)用詳解
- PHP中調(diào)試函數(shù)debug_backtrace的使用示例代碼
- 使用GDB調(diào)試PHP代碼,解決PHP代碼死循環(huán)問題
- PHP學(xué)習(xí)筆記 (1) 環(huán)境配置與代碼調(diào)試
- php開發(fā)最強(qiáng)大的IDE編輯的phpstorm 2020.2配置Xdebug調(diào)試的詳細(xì)教程
- 解決windows上php xdebug 無法調(diào)試的問題
- PhpStorm 如何優(yōu)雅的調(diào)試Hyperf的方法步驟
- 調(diào)試php程序的簡單步驟
- 如何運(yùn)行/調(diào)試你的PHP代碼
相關(guān)文章
php微信公眾平臺開發(fā)(四)回復(fù)功能開發(fā)
這篇文章主要介紹了php微信公眾平臺開發(fā)的第四篇,微信回復(fù)功能開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12

iOS自定義提示彈出框?qū)崿F(xiàn)類似UIAlertView的效果

如何用phpmyadmin設(shè)置mysql數(shù)據(jù)庫用戶的權(quán)限

Codeigniter中mkdir創(chuàng)建目錄遇到權(quán)限問題和解決方法

laravel框架實(shí)現(xiàn)后臺登錄、退出功能示例