最近這個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 思想之地。