phpstorm 利用 xdebug、dbgp-proxy配置遠程調試php
1.單客戶機遠程調試linux
a.安裝xdebug庫文件(windows:php_xdebug.dll;linux:php_xdebug.so)apache
b.修改php.ini(php源碼運行環境)windows
;xdebug庫文件 zend_extension = "d:/wamp/bin/php/php5.3.10/zend_ext/php_xdebug.dll" ;開啓遠程調試 xdebug.remote_enable = On ;客戶機ip xdebug.remote_host=localhost ;客戶機xdebug監聽端口 xdebug.remote_port=9000 xdebug.remote_handler=dbgp ;idekey xdebug.idekey=PhpStorm xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "d:/wamp/tmp"
c.客戶機(IDE運行環境)服務器
I.配置php程序遠程服務,phpstorm:File>Settings>Languages & Frameworks>PHP>Serverscookie
apache服務:其中"use path mappings"用於將本地代碼與遠程服務主機代碼映射,而後跟蹤app
II.配置xdebug,phpstorm:File>Settings>Languages & Frameworks>PHP>Debugphpstorm
Debug port:默認9000,與"xdebug.remote_port"一致ide
III.單擊「edit configurations」,選擇服務器工具
IIII.在phpStorm裏打開監聽,就是一個電話同樣的按鈕
V.打開debug,就是那個像甲殼蟲的小按鈕(此操做會打開一個連接而後將鏈接後的參數XDEBUG_SESSION_START注入到cookie:XDEBUG_SESSION,該值惟一
標示一個ide)
2.多客戶機遠程調試
a.在遠程服務主機上,安裝Komodo Remote Debugging(http://code.activestate.com/komodo/remotedebugging/)
輸入pydbgpproxy.exe --help,
控制檯輸出:
-i hostname:port listener port for IDE processes(defaults to '127.0.0.1:9001')
-d hostname:port listener port for debug processes(defaults to '127.0.0.1:9000')
啓動pydbgpproxy.exe -i 0.0.0.0:9001 -d 9000
控制檯輸出:
INFO: dbgp.proxy: starting proxy listeners. appid: 10814
INFO: dbgp.proxy: dbgp listener on 127.0.0.1:9000
INFO: dbgp.proxy: IDE listener on 0.0.0.0:9001
則成功啓動
dbgp proxy server監聽9000與遠程主機服務通訊,監聽9001與IDE(phpstorm)通訊
b.安裝xdebug庫文件(windows:php_xdebug.dll;linux:php_xdebug.so)
c.修改php.ini(php源碼運行環境)
;xdebug庫文件 zend_extension = "d:/wamp/bin/php/php5.3.10/zend_ext/php_xdebug.dll" ;開啓遠程調試 xdebug.remote_enable = On ;DBGP PROXY SERVER所在主機ip xdebug.remote_host=localhost ;DBGP PROXY SERVER監聽端口 xdebug.remote_port=9000 ;代理 xdebug.remote_handler=dbgp ;此種模式下該項不在起做用,能夠取消 ;xdebug.idekey=PhpStorm xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "d:/wamp/tmp"
c.客戶機(IDE運行環境)
I.配置php程序遠程服務,phpstorm:File>Settings>Languages & Frameworks>PHP>Servers
apache服務:其中"use path mappings"用於將本地代碼與遠程服務主機代碼映射,而後跟蹤
II.配置xdebug,phpstorm:File>Settings>Languages & Frameworks>PHP>Debug
Debug port:xdebug的監聽端口xx(其中xx根據本身選擇),listening for connections from 'xdebug'
DBGP Proxy:
IDE Key(IDE的惟一key,必定不要與其餘客戶機的key相同,不然不能註冊)
Host(DBGP Proxy server 的主機ip)
Port(DBGP Proxy server與IDE通訊的監聽端口,與-i 0.0.0.0:9001裏設置一致)
III.將IDE的配置注入到DBGP Proxy server
單擊工具欄"Tools",選擇"Register IDE"進行註冊(若果沒有配置IDE,能夠選擇"configurations"進行配置,而後註冊)
IIII.單擊"edit configurations",選擇服務器
V.在phpStorm裏打開監聽,就是一個電話同樣的按鈕
VI.打開debug,就是那個像甲殼蟲的小按鈕(此操做會打開一個連接而後將鏈接後的參數XDEBUG_SESSION_START注入到cookie:XDEBUG_SESSION,該值惟一
標示一個ide),將XDEBUG_SESSION_START參數值修改成IDE Key
參見:http://matthardy.net/blog/configuring-phpstorm-xdebug-dbgp-proxy-settings-remote-debugging-multiple-users/
http://wenku.baidu.com/link?url=ppL0e290lQSjle8jkI3Apaqvi5yYkv_kuSxl6SYnvwZFWPVMemRl8NrLO_QKmm6Kunn1JBmMmBLs5I4IL5yW5ixI2KQ0mFmcr1hL9uyIgq3