25 6月 2013

[PHP] Debug PHP by Eclipse with PDT PlugIn

強大的Eclipse開發社群,提供了PHP的debug功能 - PHP Development Tool (PDT) PlugIn,可以執行並下中斷點,對PHP開發者而言著實是一大福音!

PDT套件可以視為是debug的client端,而server端的話,就需要在PHP安裝extension才行,目前PDT支援的包括(1)Zend Debugger (2)XDebug,以下就介紹PDT以Zend Debugger的方式進行debug ...




1. 安裝Eclipse

從官網安裝最新版乾淨的 Eclipse Classic
或是安裝Eclipse+PDT一體成形懶人包 (這個懶人包是由Zend提供的,所以Eclipse版本可能稍舊),若是安裝這版的話,就可以省略步驟2

2. 安裝Eclipse PDT套件

由於現在PDT現在是由Eclipse官方maintain的套件,所以透過Eclipse內建的Install PlugIn的功能就能直接下載了呢。

首先,到 Help | Install New Software ... 

選擇Eclipse官網的release URL,以我自己的Eclipse為例,版號代稱為「Juno」,所以URL前面的名稱就會有「Juno」的名稱

選擇後,就會出現支援的PlugIn,選擇 Web, XML, Java EE and OSGi Enterprise Development | PHP Development Tools(PDT),然後一直按Next後,重開Eclipse就完成了。


3. 安裝Zend Debugger

3.1 下載Zend Debugger

進入Zend Debugger的下載網站,選擇下載Studio Web Debugger,可能要註冊他們網站的會員才能下載,有點麻煩。
下載下來後,將它解壓縮,選出適合自己的環境的版本(OS/PHP),將ZendDebugger.dll複製到{PHP install path}/ext (32bit or 64bit的版本不要抓錯了!)

3.2 修改php.ini

以下這範例是我自己放的路徑,記得改成你放Zend Debugger.dll的路徑{PHP install path}/ext
zend_extension_ts = C:/AppServ/php5/ext/ZendDebugger.dll ;Note : use "/" instead of "\"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always 
allow_hosts填多組ip的話,要用逗號","分開

3.3 Copy dummpy.php

將Zend Debugger壓縮檔裡附的dummpy.php複製到Apache的Document Root

3.4 重新啟動Apache server

檢查一下phpinfo,應該可以看到Zend Debbuger的資訊


4. Debug PHP Project

以上設定完成後,就可以開始PHP Debug之旅了,在New Project時,就可以選擇PHP Project了,指定到Apache的Document Root裡的資料夾


PHP Project create完成後,就可以開始debug了,執行Eclipse的Debug As | PHP Web Application就大功告成了!

Reference

沒有留言: