運用NetBeans + Xdebug調試PHP程式

來源:互聯網
上載者:User
使用NetBeans + Xdebug調試PHP程式

前些天發現通過Notepad++的DBGP外掛程式結合PHP的xdebug擴充可以實現PHP檔案調試,同時,介紹說包含了單步調試、監視變數還有跨檔案調試。按照網路上的資料配置好調試環境後實際試用了發現功能較為簡陋,單檔案調試還可,如果是跨檔案調試項目就不那麼舒服了,試用過程中因為DBGP外掛程式也存在許多缺陷,煩惱不斷,經常性地stack overflow,很是遺憾。後來想想Np++只是Editor,不要對它強求過多,外掛程式的版本也比較低,存在許多BUG也是可以理解的,等它慢慢完善再說吧,開源社區的力量可是很強大的,^^。
昨晚在壇裡某位同志的博文裡再次見到了NetBeans這個熟悉的字眼(之前選開發環境的時候因為NB非常強大,功能設定很人性化,介面非常友好,又有非常強的自動完成功能,都差不多就要定它了,可是因為當時不懂有xdebug,所以沒搞懂怎麼調試,就繼續用著EP Ctrl+B“調試”程式了),就用加上“xdebug”google了一下發現NB調試功能就是通過其實現的,而且功能齊全,評價不錯,哈哈,大大的驚喜,因為太晚了怕影響舍友休息,就決定次日來搞掂它。
……
  今天外出溜達回來後,把開發環境折騰了一番,現將配置過程整理如下:

[我的環境]

OS:Vista Business SP1 en_US
PHP:5.2.8
Apache:2.2.11
NetBeans:6.5.1 PHP
? ?? ???http://www.netbeans.org/downloads/start.html?platform=windows?=zh_CN&option=php&version=6.5.1
Xdebug:2.0.4-5.2.8
? ?? ???http://www.xdebug.org/files/php_xdebug-2.0.4-5.2.8.dll

[安裝Xdebug]

1、將php_xdebug-2.0.4-5.2.8.dll解壓至php安裝目錄下的ext檔案夾。
本機為:D:\Wamp\php\ext
2、修改php.ini,在末位添加如下內容:
[php]
zend_extension_ts=" D:\Wamp\php\ext\php_xdebug-2.0.2-5.2.5.dll"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
[/php]
註:zend_extension_ts 的值以你實際安裝位置為準;xdebug 會與zend_optimizer相衝突,請注釋/刪除掉php.ini內的與zend_optimizer相關的語句;xdebug.remote_port的值要與NB的工具->選項->調試器連接埠 所填寫內容一致,預設為9000
3、在Vista環境下,通過apache模組載入php的方式在載入xdebug後執行php指令碼apache會崩潰,如果要正常使用xdebug調試PHP程式的話,需要將PHP的運行方式更改為CGI,請在httpd.conf添加如下內容:
[php]
#LoadModule php5_module D:/Wamp/php/php5apache2_2.dll
#PHPIniDir "D:/Wamp/php/"
ScriptAlias /php/ "D:/Wamp/php/"

Order allow,deny
Allow from all


#AddType application/x-httpd-php .php
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

註:注釋掉的是以模組方式載入PHP的配置語句


[/php]

[開始調試]

1、建立並開啟項目
2、開啟需要調試的檔案並設定斷點。
3、執行頂部菜單內的 調試->調試”xxx.php”,在彈出的對話方塊中選擇“伺服器端PHP”。點擊確定後,NB會自動使用你的預設瀏覽器開啟你要調試的檔案,如:http://localhost/Comsenz/UCenter_Home/index.php?XDEBUG_SESSION_START=netbeans-xdebug。此時,你會發現瀏覽器的請求一直未返回,而且NB右下角顯示“netbeans-xdebug正在運行”,你就可以按F7正常偵錯工具了。
若未設定斷點,執行調試的時候程式將自動在當前檔案的第一行暫停執行。若不希望自動暫停執行,請取消勾選工具->選項->PHP->在第一行停止。
4、表單處理調試可以執行 調試->調試項目,後續操作類似,只不過如果你執行到你設定斷點的指令碼時,NB會自動中斷在斷點處,等待你調試哈!
5、詳細的請參照NB官方調試指南http://www.netbeans.org/kb/docs/php/debugging_zh_CN.html

[參考網站]
http://www.netbeans.org/downloads/index.html (NetBeans下載)
http://www.xdebug.org/download.php (Xdebug下載)
http://www.my400800.cn




?
1、開啟項目,設定斷點.jpg



?
2、執行調試.jpg



?
3、調試方式.jpg



?
4、單步調試.jpg


?

1.“xdebug 會與zend_optimizer相衝突,請注釋/刪除掉php.ini內的與zend_optimizer相關的語句”
? ? 不知道哪些語句是與zend_optimizer相關的語句 樓主能否詳細的給出
2.我的是win作業系統
? ?? ?? ?? ???PHP 5.2.9
? ?? ?? ?? ???Apache 2.11
? ?? ?? ?? ???MYSQL 5.1


不知道是否和樓主配置的方式是一樣的
3.我也很喜歡NetBeans的開發模式 但是xdebug總是調試不好 按照網上說的做了還多次
仍舊不行??前期最終選擇了放棄??看了樓主發表的具體配置方法 很是感激 不過還有上面
兩個疑問??謹希望能夠得到樓主的最快最詳細的回複答案??非常感謝

?

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.