1. 須要在php.ini中填寫xdebug的相關配置;php
(在WAMPServer之中,須要左鍵單擊WAMPServer的圖標,經過菜單編輯php.ini配置;若直接改寫php.ini,會被WAMPServer所覆蓋)chrome
在php.ini的最末尾,做以下設置:瀏覽器
;(以實際路徑爲準)服務器
zend_extension = "d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"ide
[xdebug]工具
xdebug.remote_enable = On測試
xdebug.profiler_enable = offdebug
xdebug.profiler_enable_trigger = off3d
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)。