PhpStorm, XDebug, and DBGp Proxy


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

Komodo Remote Debugging


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM