第一步,讓xdebug在php環境中生效
-
下載xdebug
http://www.xdebug.org/download.php
這裡會出現針對PHP各種版本的下載。找到適合你自己的版本,此處值得注意的一點是要找到你機器上的PHP extention是TS版還是NTS版。
檢視方法是執行phpinfo(),找到PHP Extension Build,我的PHP版本是5.6.36,對應的PHP Extension Build的版本是API20131226,TS,VC11,注意紅字部分,是TS版,所以要下載下圖中的紅色方框部分。
Apache伺服器下要用TS的,IIS下跑PHP才用NTS。
標題為“PHP 5.6 VC11 (64 bit) ”的,下載了以後是php_xdebug-2.5.5-5.6-vc11-nts-x86_64.dll(檔名中帶NTS)
標題為“PHP 5.6 VC11 TS (64 bit)”,下載了以後是php_xdebug-2.5.5-5.6-vc11-x86_64.dll(檔名中不帶TS)
標題和檔案中關於TS和NTS的說明是相反的。
下載之後,把php_xdebug-2.5.5-5.6-vc11-x86_64.dll放到php目錄下的ext目錄下,其實放在哪裡都可以,只要在配置檔案中指向它即可,為了統一化和規範化,放在ext目錄比較好。
配置
php.ini中增加以下程式碼:
[Xdebug] zend_extension = "D:/php5.6.25/ext/php_xdebug-2.5.5-5.6-vc11-x86_64.dll" ;xdebug.collect_params=On ;xdebug.collect_return=On ;xdebug.trace_output_dir="E:/AllPublish/xdebug" ;設定函式呼叫監測資訊的輸出檔案的路徑。 ;xdebug.profiler_enable=On ;//開啟效能監測器。 ;xdebug.profiler_output_dir="E:/AllPublish/xdebug" ;//設定效能監測資訊輸出檔案的路徑。
只保留第一行:
zend_extension = "D:/php5.6.25/ext/php_xdebug-2.5.5-5.6-vc11-x86_64.dll"
重新啟動apache,即可生效,其它選項可暫時註釋。
此時開啟phpinfo(),即可看到xdebug節。
觸發錯誤時,即可看到橙色的格式化的錯誤資訊。
本文參考了以下文章:
php斷點除錯工具------NetBeans+Xdebug除錯php方法(測試成功)