說道PHP代碼調試,對於有經驗的PHPer,通過echo、print_r、var_dump函數,或PHP開發工具zend studio、editplus可解決大部分問題,但是對於PHP入門學習的童鞋來說有一定的難度,而且僅僅通過上述這些PHP調試手段,也很難準確發現PHP效能方面的問題,Xdebug是一個非常有用的PHP調試工具。
Xdebug作為PHP調試工具,提供了豐富的調試函數,也可將Xdebug安裝配置為zend studio、editplus調試PHP的第三方外掛程式,通過開啟自動跟蹤(auto_trace)和分析器功能,可以直觀的看到PHP原始碼的效能資料,以便最佳化PHP代碼。今天和大家分享PHP調試工具Xdebug安裝以及配置方面的基礎知識。
Xdebug在PHP中的安裝配置涉及php.ini設定檔的修改。
Xdebug安裝教程
下載Xdebug
首先我們需要下載Xdebug,務必根據安裝的PHP版本,選擇合適的Xdebug版本,由於我是在Windows環境下安裝PHP的(請參考Windows 7下安裝配置PHP+Apache+Mysql環境教程),所以選擇下載Windows版本的Xdebug2.1.0(5.3 VC6 (32 bit)),下載下來的Xdebug檔案為php_xdebug-2.1.0-5.3-vc6.dll,這是由於Xdebug是作為PHP模組的形式被安裝配置與使用的。
Xdebug安裝提示:如果你不清楚安裝的PHP版本,你可以通過phpinfo()函數參看,同時Xdebug也提供了phpinfo輸出資訊分析工具來協助你分析如何安裝Xdebug,只要將phpinfo輸出資訊複製提交即可,地址:Xdebug phpinfo資訊分析地址
安裝Xdebug
將下載的php_xdebug-2.1.0-5.3-vc6.dll複製到PHP安裝目錄下的ext目錄,此處為C:\php\ext,ext目錄專門用來存放PHP擴充庫DLL檔案。
配置php.ini
安裝Xdebug的最後一步就是配置php.ini檔案,開啟C:\php目錄下的php.ini設定檔,在末尾添加
1 2
|
[Xdebug] zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll" |
最後重啟Apache伺服器,通過phpinfo()函數,可以看到
PHP Xdebug配置資訊
Xdebug配置提示:PHP5.3之前版本配置Xdebug時使用zend_extension_ts,對於PHP5.3以上版本,使用zend_extension。
XDEBUG NOT LOADED AS ZEND EXTENSION資訊出現的原因
出現XDEBUG NOT LOADED AS ZEND EXTENSION的原因是在安裝Xdebug時由於我們將Xdebug的DLL檔案複製到了php\ext目錄下,容易以PHP擴充庫的形式載入Xdebug,在php.ini檔案中添加了
1
|
extension=php_xdebug-2.1.0-5.3-vc6.dll |
這是錯誤的Xdebug安裝方式,必須以zend方式載入。
至此PHP Xdebug的基礎安裝教程就結束了,下面我們需要對Xdebug作一些基礎配置。
Xdebug配置教程
在安裝完Xdebug後,我們還需要對Xdebug做基礎配置,預設Xdebug的PHP函數自動跟蹤(auto_trace)功能、分析器功能並沒有開啟,作為調試PHP代碼的需要,有些Xdebug配置選項最好開啟。
在此之前我們需要建立Xdebug自動跟蹤以及分析器輸出檔案的存放目錄,務必確保目錄是可讀寫的,此處我在D:\PHPWeb\下建立了xdebug\trace以及xdebug\profiler目錄。
最後在php.ini設定檔中完成Xdebug的配置工作,找到
1 2
|
[Xdebug] zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll" |
在此之後添加Xdebug配置資訊
1 2 3 4 5 6
|
xdebug.auto_trace=1 xdebug.collect_params=1 xdebug.collect_return=1 xdebug.trace_output_dir="D:/PHPWeb/xdebug/trace" xdebug.profiler_enable=1 xdebug.profiler_output_dir="D:/PHPWeb/xdebug/profiler" |
最後儲存php.ini,並重啟Aapche伺服器即可。
Xdebug部分配置選項說明
xdebug.auto_trace = 1
是否允許Xdebug跟蹤函數調用,跟蹤資訊以檔案形式儲存,預設值為0
collect_params = 1
是否允許Xdebug跟蹤函數參數,預設值為0
xdebug.collect_return = 1
是否允許Xdebug跟蹤函數傳回值,預設值為0
xdebug.profiler_enable = 1
開啟xdebug的效能分析器,以檔案形式儲存,這項配置是不能以ini_set()函數配置的,預設值為0
xdebug.profiler_output_dir
效能分析檔案的存放位置,預設值為/tmp
xdebug.profiler_output_name
效能分析檔案的命名規則,預設值為cachegrind.out.%p
xdebug.trace_output_dir
函數調用跟蹤資訊輸出檔案目錄,預設值為/tmp
xdebug.trace_output_name
函數調用跟蹤資訊輸出檔案命名規則,預設為trace.%c
特別說明:Xdebug的trace和profiler的輸出檔案名規則是可以更改的,比如將檔案名稱命名為具體跟蹤的PHP執行檔案名稱、進程ID、隨機數等,非常方便,更多的Xdebug配置選項說明,請參考官網的Xdebug配置選項說明。
至此PHP調試工具Xdebug教程之Xdebug的安裝和配置就介紹完了,今後還將陸續介紹Xdebug如何在zend studio以及editplus中配置使用。
注:PHP網站開發教程-leapsoul.cn著作權,轉載時請以連結形式註明原始出處及本聲明,謝謝。