使用xdebug對PHP進行遠程調試是一個php程序員一定要掌握的技能,關於在本機設置xdebug進行調試的方法,請自行百度,下面說一下如何配置遠程服務器在開發機上的調試。
首先要在遠程服務器上安裝xdebug,這個也請自行百度。
- 直接指定ip法:
通過在php.ini中將xdebug.remote_host=127.0.0.1后的ip修改為開發機的ip即可。
此方法的缺點是僅能指定一台開發機進行遠程調試。 - 使用ssh隧道連接
以xshell為例,在開發機的xsehll中建立遠程ssh連接,之后選擇連接屬性->SSH->隧道,添加,類型:Remote(incoming),源主機填寫遠程服務器ip,端口:9000,目標主機:localhost,端口:9000。
連接遠程主機,就可以調試了。
此方法的缺點是無法同時支持多個主機進行遠程調試,且每個開發機都會有擁有ssh權限。 - 使用Komodo Remote Debugging Package配置遠程調試
- 下載Komodo Remote Debugging Packge包中的Python Remote Debugging Client,下載地址http://code.activestate.com/komodo/remotedebugging/。
- 解壓壓縮包。
- 運行:
- 如果是Komodo IDE 7以下版本的調試包,直接在解壓目錄中執行 ./bin/pydbgpproxy -i 0.0.0.0:9001 -d 9000 &。
- 如果是Komodo IDE 8以上版本的調試包,可能需要先安裝python庫,指令如下:
export PYTHONPATH=安裝路徑/pythonlib
再執行如下指令確認一下庫安裝是否正確:
python -c "import dbgp.client; print 'ok'"
在執行./pydbgpproxy -i 0.0.0.0:9001 -d 9000 &
- 在phpstorm中,選擇Tools->DBGp Proxy->Configuration:

輸入如下內容:

IDE Key自定義,但是不同的開發機要設置不同的值。Host則為服務器ip。
- 在chrome內核的服務器上安裝Xdebug helper插件,右擊Xdebug helper圖標:
選擇Other,輸入在PHP Storm中輸入的IDE Key:

選擇Tools->DBGP Proxy->Register IDE

看到如下標志,就可以進行調試了。
-
此方法的優點:
- 可以支持多個開發機進行遠程調試。
- 無需開發機有ssh權限。
- 此方法的缺點:
- 配置較復雜。
- 在不需要調試時,不能只關閉PHP Storm調試開關,而是要在瀏覽器端將Xdebug helper設置成Disable狀態,否則會出現瀏覽器無響應。
- 偶爾服務器端Remote Debugging Client會停止工作,需要手工啟動。
