xdebug的chrome、firefox插件
chrome:Xdebug helper
firefox:easy Xdebug
-------------------------------------------------------
小技巧..讓chrome支持xdebug一直可以調試.
1.先隨便建立一次調試.然后打個斷點.按下F5.完成一次調試.這個時候紅色按鈕不該是灰色的.這就保證了瀏覽器和netbeans建立了連接
2.再切換到chrome.隨意打開一個頁面.就都可以進行debug了..避免了多次調試更改url和參數.
----------------------------------------------
之前用過一段時間在apache,netbeans下通過xdebug調試。感覺不錯,最近事情不多想從新配置下,是基於最新版本的php5.4做的,后來參考了下xdebug的官網說明完成的。官網地址:http://wiki.netbeans.org/HowToConfigureXDebug#How_to_configure_xdebug_with_WAMP
具體步驟如下: 1、去http://www.xdebug.org/download.php下載相應的php_xdebug.dll,這個要根據你自己的php版本哦。
然后把下載的文件放到php的ext目錄下,其實放在任何你想要的目錄都可以,主要是在下面說的php.ini里指定好路徑。
2、修改php.ini
zend_extension=D:/php/ext/php_xdebug-2.2.1-5.4-vc9.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
其中 zend_extension=D:/php/ext/php_xdebug-2.2.1-5.4-vc9.dll 是php5.3以及以上版面的寫法,
如果是php5.2以及以下版本的是 zend_extension_ts=D:/php/ext/php_xdebug-2.2.1-5.4-vc9.dll。
下面是幾個不必須的參數。
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir="D:/php/debuginfo"
xdebug.profiler_enable=on
xdebug.profiler_output_dir="D:/php/debuginfo"
trace_output_dir 對於的是類似trace.4046332594.xt的文件,
profiler_output_dir對應得是類似cachegrind.out.10360 這樣的文件
最好重啟下Apache服務
然后可以用個phpinfo()函數測試是否成功了。
下面開始設置netbeans,
工具->選項->常規 選擇好web瀏覽器 工具->選項->php->調試 查看高度的端口是否正確 下一步就可以打開你要調試的文件開始了,設置好斷點(其實在調試過程中你還可以設置或修改斷點)。 調試過程中的情況大概如下圖,你可以看執行過程中各個變量的情況。
要注意的是,xdebug.trace_output_dir="d:\xdebug" 這個文件夾要手動創建。
----
zend_extension=D:\wamp\bin\php\php5.3.3\ext\php_xdebug-2.1.0-5.3-vc6.dll
[Xdebug]
;是否開啟自動跟蹤
xdebug.auto_trace= On
;是否開啟異常跟蹤
xdebug.show_exception_trace= On
;是否開啟遠程調試自動啟動
xdebug.remote_autostart= On
;是否開啟遠程調試
xdebug.remote_enable= On
;允許調試的客戶端IP
xdebug.remote_host=192.168.1.211
;遠程調試的端口(默認9000)
xdebug.remote_port=9000
;調試插件dbgp
xdebug.remote_handler=dbgp
;是否收集變量
xdebug.collect_vars= On
;是否收集返回值
xdebug.collect_return= On
;是否收集參數
xdebug.collect_params= On
;跟蹤輸出路徑
xdebug.trace_output_dir="d:\xdebug"
;是否開啟調試內容
xdebug.profiler_enable=On
;調試輸出路徑
xdebug.profiler_output_dir="d:\xdebug"
----
然后就可以測試了。
Netbeans上要注意幾點:
1. 默認的瀏覽器最好選擇一個
2. PHP的選項里,編譯路徑是空的,最好選上。
3. 要選擇監視變量的數量,否則這個功能默認是關閉的。
4. 配置都保存了之后,還是連接失敗的話,就重啟一下netbeans吧。很多人都知道,該了PHP.INI要重啟服務器。但是沒想過netbeans的有些配置改了之后,也要重啟才能生效……ORZ……我就是沒重啟浪費了好多時間……
路徑映射、調試器代理以及在定制 URL 上啟動調試會話
可以調試腳本和 Web 頁,還可以在本地或遠程調試 Web 頁。遺憾的是,對於遠程調試,在遠程服務器上調試的 PHP 文件與在本地計算機上運行的 NetBeans IDE 中打開的文件並不相同。因此,NetBeans 中的調試器支持必須能夠將服務器路徑映射到本地路徑。然而,由於存在諸多復雜因素,無法針對各種情況自動解決路徑映射問題。因此,從 NetBeans 6.7 開始,您可以通過項目設置針對各個運行配置手動定義路徑映射。此外,還可以指定代理服務器(如果有),以及在其上啟動調試會話的 URL。如果未指定此 URL,則將從索引文件開始執行調試。
設置路徑映射並啟用定制調試 URL:
- 在 "Projects"(項目)窗口中右鍵單擊項目節點,然后從上下文菜單中打開項目的 "Properties"(屬性)。
- 在 "Project Properties"(項目屬性)對話框中,轉至 "Run Configuration"(運行配置)類別。
- 單擊 "Advanced"(高級)按鈕。"Advanced Web Configuration"(高級 Web 配置)對話框打開。
- 添加要進行路徑映射的服務器路徑和項目路徑。
- 在 "Debug URL"(調試 URL)下,選中以下一個選項(不要將默認值保留為選中狀態):
- "Ask Every Time"(每次都詢問):讓 IDE 提示您在啟動調試會話時輸入 URL。
- "Do Not Open Web Browser"(不打開 Web 瀏覽器):需要您手動打開瀏覽器並輸入 URL(您需要 GET/POST XDEBUG_SESSION_START 變量)。
- 使用代理服務器進行調試時,請在 "Debugger Proxy"(調試器代理)類別中輸入該服務器的主機名和端口。
有關詳細信息,請參見 "NetBeans for PHP"(NetBeans PHP) 博客中的 Path Mapping in PHP Debugger(使用 PHP 調試器進行路徑映射)的帖子。