phpstorm 利用 xdebug、dbgp-proxy配置遠程調試
1.單客戶機遠程調試
a.安裝xdebug庫文件(windows:php_xdebug.dll;linux:php_xdebug.so)
b.修改php.ini(php源碼運行環境)
;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>Servers
apache服務:其中"use path mappings"用於將本地代碼與遠程服務主機代碼映射,然后跟蹤
II.配置xdebug,phpstorm:File>Settings>Languages & Frameworks>PHP>Debug
Debug port:默認9000,與"xdebug.remote_port"一致
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