本文描述遠程調試Linux主機上的apache+php工程,各端需要的工具示意圖如下:
CLIENT(windows, 10.239.54.24)-----------------------------------------------------------------SERVER(ubuntu 10.04, 10.239.54.115)
browser with xdebug plugin xdebug
eclipse with PDT
環境安裝:
1. Eclipse juno 4.2
2. PDT (Eclipse->Help->Install New Software(Juno - http://download.eclipse.org/releases/juno)->Programming Languages->PHP Development Tools(PDT) SDK feature)
3. Xdebug
CLIENT端浏覽器插件安裝
SERVER端xdebug安裝: sudo apt-get install php5-xdebug
環境配置:
1. SERVER端:
確保 /etc/php5/apache2/php.ini 包含下面的配置
[Xdebug]
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.remote_enable=On
xdebug.remote_host=$clientIP 如 "10.239.54.24"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
等。。。
2. CLIETNT端:
1) Eclipse配置如下:
Eclipse -> Window->Preferences->General->Web Browser->Use external web browser->Chrome
Eclipse -> Window->Preferences->PHP->Debug->PHP Debuger->Xdebug(默認是Zend Debugger)
2) 工程Debug配置如下:
假如工程test_debug的首頁為index.php
使用Eclipse打開index.php,在菜單欄 Run->Debug Configurations,會彈出一個具有Server、Debugger的框。
server選項卡->New, 填入Name、Base URL (如http://10.239.54.115)、Local Web Root (browse到test_debug的工程目錄),然後finish
回到server選項卡,有個URL的信息,對應SERVER上的該工程的index.php,默認勾選“Auto Generate”,URL值可能為 http://10.239.54.115 + /test_debug/index.php,如果不對,將其修改正確。這一步如果不對,debug的時候,chrome會報出找不到頁面之類的錯誤。如果要加參數,在URL中加 上。
經過以上過程,就可以設置斷點,點擊F11, chrome浏覽器會自動打開,和你的eclipse配置配合,那麼,開始debug 吧!