故障排除
本節介紹了對偵錯程式和相關檔案進行故障排除時所需的過程和技術。
查詢正確的 php.ini 檔案
在配置 php 以使用偵錯程式擴充套件時 — xdebug 或 zend debugger — 需要確保您編輯的是正確的 php.ini 檔案並且具有正確的偵錯程式變數zend_extension
。要查詢 php 安裝使用的 php.ini 檔案的完整路徑,使用 web 目錄下乙個簡單指令碼中的phpinfo()
函式。
清單 10. 簡單的 phpinfo.php 基本
<?phpphpinfo();
?>
另一種辦法是輸入命令php -i | grep "loaded conf"
,您將獲得類似loaded configuration file => /usr/local/php5/lib/php.ini
的結果。
使用正確的zend_extension
指令
確定了需要編輯的 php.ini 檔案之後,現在需要獲得正確的zend_extension
指令進行安裝。再次使用phpinfo()
或php -i
方法查詢兩個值:thread safety
和debug build
。表 1 可以幫助您確定使用哪乙個。乙個常見的錯誤是在需要使用zend_exention_ts
的時候使用了zend_extension
,並且這個錯誤很難發現。
表 1. 選擇正確的配置鍵
鍵名執行緒安全性
除錯zend_extension
關閉關閉
zend_extension_ts
開啟關閉
zend_extension_debug
關閉開啟
zend_extension_debug_ts
開啟開啟
偵錯程式沒有停止
如果偵錯程式根本沒有停止,有可能出現了以下三個問題中的乙個:
判斷擴充套件目錄的位置
要把 xdebug 或 zend debugger 擴充套件二進位制檔案安裝到其他所有擴充套件的位置,使用phpinfo()
或php -i
查詢目錄的位置。檢視清單 11 中php -i
命令的示例。
清單 11. 查詢擴充套件目錄
...extension_dir => /usr/local/php5/lib/php/extensions/
...
php 斷點除錯工具配置之二
設定 pdt 現在,您應該已經安裝並配置了 xdebug 或 zend debugger,並已經檢驗了它們的安裝是否正確。在連線到偵錯程式並將它與 pdt 結合使用之前,需要修改 pdt 的一些配置,告訴它使用哪一種偵錯程式。設定 php 伺服器 在安裝 pdt 時,您應該有乙個執行專案的 php ...
PHP斷點除錯工具Xdebug的安裝
zend extension 擴充套件的絕對路徑 xdebug.collect params 1 xdebug.collect return 1 xdebug.auto trace 0 xdebug.profiler enable 0 xdebug.max nesting level 1000000...
PHP斷點除錯工具Xdebug的安裝
擴充套件的絕對路徑 xdebug.collect params 1 xdebug.collect return 1 xdebug.auto trace 0 xdebug.profiler enable 0 xdebug.max nesting level 1000000 xdebug.remote ...