最近這個PHP調試搞的我好久,網上收了篇PDT調試的文章,完美實現斷點調式~,感謝作者~~
先前一直對dotNET、Java的IDE的代碼自動嗅探、代碼提示、程式斷點調試等等自動化功能羨慕不已,而自己寫PHP只能靠著echo、var_dump()來偵錯工具,能不能讓PHP也實現斷點調試呢?先前在Eclipse的PHP外掛程式中發現了Debug的選項,說明調試功能應該是可行的,但是不知道是怎麼個配置法,跑上google尋找資料發現沒有一個完整的介紹配置文檔,我只能將獲得的資訊拼接起來後來測試。
結果是:完美實現PHP斷點調試!
下面就是詳細過程。
步驟一:
1.首先下載並安裝相應軟體
Jdk是絕對必要的,它是跑Eclipse的最基本要求,到這裡下載。
Eclipse整合了PHP開發外掛程式版本在這裡下載,選擇對應自己的作業系統的版本後下載到本地即可。
XDebug到這裡下載,請根據自己PHP的版本選擇相應檔案下載。
伺服器任意,推薦使用Apache+PHP模組安裝方式。
2.軟體安裝
首先安裝JDK後,安裝好後請按照下面步驟配置系統變數
其次是安裝Eclipse,Eclipse不用怎麼設定,只要設定好了JDK,Eclipse放置於任何位置都可以直接運行
最後Xdebug安裝
我自己使用的是PHP5.2.5,下載的xdebug檔案名稱為:php_xdebug-2.0.3-5.2.5.dll,將檔案放到php/ext檔案夾下即可
3.配置
xdebug配置
開啟php.ini
在最後一行加入以下配置代碼,配置說明已經做好注釋
;載入Xdebug
zend_extension_ts="c:/php/ext/php_xdebug.dll"
;xdebug配置
[Xdebug]
;開啟自動跟蹤
xdebug.auto_trace = On
;開啟異常跟蹤
xdebug.show_exception_trace = On
;開啟遠端偵錯自動啟動
xdebug.remote_autostart = On
;開啟遠端偵錯
xdebug.remote_enable = On
;收集變數
xdebug.collect_vars = On
;收集傳回值
xdebug.collect_return = On
;收集參數
xdebug.collect_params = On
注意zend_extension_ts後面的路徑要填寫絕對路徑,儲存後重啟伺服器即可。
此時用phpinfo()查看php配置,如果安裝成功,應該可以看到以下資訊:
下面是eclipse的配置
詳細配置請看說明(所有圖片均可點擊放大查看)
eclipse全域總體配置:(點擊放大查看)
測試伺服器配置:在上面視窗中點擊 PHP Server.... 後 (點擊放大查看)
PHP項目總體配置:開啟或建立一個php項目後,在項目上單擊右鍵,選擇 Properties(點擊放大查看)
按照自己的實際要求配置好之後,整體的調試環境就完全配置好了,開始enjoy吧!
下面介紹如何開始調試
1.首先開啟你要調試的頁面,我這裡以emlog首頁index.php為例
在eclipse的菜單中照圖中的順序選擇:
這時eclipse就會啟動debug介面,效果:(點擊放大)
如果你的伺服器配置正確,那麼就會蹦出瀏覽器並看到程式頁面了。
現在進入重點,很酷的PHP斷點調試功能
在你要設定斷點的行上點擊右鍵,選擇 Toggle Breakpoints
設定好之後,請再啟動debug
下面是個例子(點擊放大)
有人肯定會問,這是首頁,如果我要調試的頁面帶有參數或者不能直接存取怎麼辦?
答案很簡單,你只要在需要的調試的頁面上設定斷點,debug時啟動任何一個可以直接存取的頁面,然後從頁面上點擊到你要訪問的頁面,或者訪問調用你要調試的檔案的頁面即可,運行到斷點的時候eclipse會自動跳出來,這時你就可以開始調試了。
轉載出自 http://be-evil.org 思想之地。