程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP擴展Xdebug的安裝使用實例

PHP擴展Xdebug的安裝使用實例

編輯:關於PHP編程

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中,哪個達人要是知道就給指條明路吧

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