1. 需要在php.ini中填寫xdebug的相關配置;
(在WAMPServer之中,需要左鍵單擊WAMPServer的圖標,通過菜單編輯php.ini配置;若直接改寫php.ini,會被WAMPServer所覆蓋)
在php.ini的最末尾,作如下設置:
;(以實際路徑為准)
zend_extension = "d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
[xdebug]
xdebug.remote_enable = On
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
;(以實際路徑為准)
xdebug.profiler_output_dir = "d:/wamp/tmp"
xdebug.show_local_vars=0
xdebug.idekey = "PHPSTORM"
僅使用XDebug的remote debug功能,不使用profiler功能;idekey用於和開發環境(如“PHPStorm”,“Zend Studio”)、瀏覽器進行通訊(據說用Firefox比較多,調試擴展穩定;chrome的調試擴展不好用)。
2. 進入PHPStorm的File->Setting,在左側找到PHP->Servers,添加一個Web開發服務器。Host與Port填寫開發服務器的實際地址,實際服務端口。Debugger選擇XDebug。
3. 在Settings對話框中找到PHP->Debug,確保PHPStorm監聽XDebug的調試端口9000.不做其他的修改。
(如果用了phpfpm,或手工配置了fastcgi,有可能會出現9000端口占用沖突;此時需要重新分配端口)
4. 進入PHP->Dbgp Proxy,填寫IDE key為”PHPSTORM”,Host為本機,端口為80:
5. 進入“Web Browsers”,只勾選Firefox,其他的瀏覽器統統去掉;
6. 新建一個工程,加上一個測試用的php文件,確保它能夠正確地上傳到服務器
(在Tools->Deployment->Configuration對話框中,Deployment path不能置空,至少需要設為“/”;設為空,無法部署,Deployment顯示為灰色)
7. 勾選”Run->Start Listening for PHP Debug Connection”,IDE開始監聽調試端口;
8. 在Firefox中安裝PHP調試擴展“The easiest Xdebug 2.1.1-signed”,重啟FireFox瀏覽器,為調試擴展設置如下參數:
在此與php.ini保持一致,不開啟trace和profiler。
9. 在FireFox瀏覽器右側工具欄中會多出三個圖標,按下“爬蟲”圖標啟用調試(任何一個選項卡都可以用):
10. 在PHPStorm之中找到懸浮的“火狐”圖標,點擊它(也可以點擊上方的箭頭,Run xxx.php),就能看到斷點里打了一個勾,表示斷點已生效。在下方的窗口里單擊“單步步過”,能觀察到斷點里的勾消失掉。反應速度有些慢。
此時已能夠單步調試PHP代碼,Enjoy it!
配置好之后,如果需要單步調試,在PHPStorm中勾選“Run->Start Listenning for PHP Debug Connections”,在Firefox瀏覽器中點擊“爬蟲”圖標,在PHPStorm中運行需要調試的頁面即可(不需要通過PHPStorm的Debug啟動模式,直接Run)。