程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Windows和Linux中php代碼調試工具Xdebug的安裝與配置詳解

Windows和Linux中php代碼調試工具Xdebug的安裝與配置詳解

編輯:PHP綜合

一、為什麼需要Debugger?

很多PHP程序員調試使用echo、print_r()、var_dump()、printf()等,其實對 於有較豐富開發經驗的程序員來說這些也已經足夠了,他們往往可以在程序執行的過程中,通過輸出特定變量的值可以判斷程序執行是否正確,甚至效率高低也可以 看出來(當然可能還需要使用一些時間函數)。那麼我們為什麼還需要一個專門的調試程序來監控我們的程序運行呢? 這個問題的答案不妨留到後面來揭曉。

二、什麼是Xdebug?

Xdebug是一個開放源代碼的PHP程序調試器(即一個Debug工具),可以用來跟蹤,調試和分析PHP程序的運行狀況。

三、Windows 下 XDebug 安裝與配置

1. 下載XDebug二進制文件: http://www.xdebug.org/download.php
請根據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” 的地方需要修改為你自己的本地路徑.
參數解釋:
復制代碼 代碼如下:
zend_extension_ts=”c:/webserver/php5/ext/php_xdebug.dll”
;加載xdebug模塊。這裡不能用extension=php_xdebug.dll的方式加載,必須要以zend的方式加載,否則安裝上後,phpinfo是顯示不出xdebug這個項的。
xdebug.auto_trace=on;
;自動打開“監測函數調用過程”的功模。該功能可以在你指定的目錄中將函數調用的監測信息以文件的形式輸出。此配置項的默認值為off。
xdebug.collect_params=on;
;打開收集“函數參數”的功能。將函數調用的參數值列入函數過程調用的監測信息中。此配置項的默認值為off。
xdebug.collect_return=on
;打開收集“函數返回值”的功能。將函數的返回值列入函數過程調用的監測信息中。此配置項的默認值為off。
xdebug.trace_output_dir=
;設定函數調用監測信息的輸出文件的路徑。
xdebug.profiler_enable=on
;打開效能監測器。
xdebug.profiler_output_dir=
;設定效能監測信息輸出文件的路徑。

還有一些更為具體的參數設定,詳見:http://www.xdebug.org/docs-settings.php
5. 重啟web服務器,如 Apache 或者 IIS
6. 查看 phpinfo 的輸出, 如果看到 XDebug 的選項, 就說明配置成功了.
7. 調試信息文件查看。
在本地運行php程序,會在所設定的目錄裡產生一些調試信息的文件,主要包括:
a. 函數調用過程監測信息文件,文件名格式:trace.××××××.xt。該文件可直接查看,裡面包含了函數運行的時間,函數調用的參數值,返回值,所在的文件和位置等信息。內容格式相對直觀。
b. 效能監測文件,文件名格式:cachegrind.out.××××××××。
該文件也可以直接查看,但信息格式不易被人類所理解,我們可以安裝 wincachegrind 軟件,以格式化地讀取它。 下載安裝方法參考如下:
下載:http://sourceforge.net/projects/wincachegrind/
下載後安裝運行,然後點擊Tools->options,設定 working folder(php.ini裡 xdebug.profiler_output_dir 的值)
這樣就可以比較直觀的查看效能監測文件的信息了。

四、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,測試是否安裝成功

如果輸出的內容中有看到xdebug,說明安裝配置成功。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved