程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 使用NetBeans + Xdebug調試PHP程序的方法

使用NetBeans + Xdebug調試PHP程序的方法

編輯:關於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/"
<Directory D:/Wamp/php/>
Order allow,deny
Allow from all
</Directory>

#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.zvv.cn/blog/show-101-1.html

[ 本帖最後由 zwws 於 2009-3-29 02:55 編輯 ]


1、打開項目,設置斷點.jpg


2、執行調試.jpg


3、調試方式.jpg


4、單步調試.jpg


5、項目調試(跨頁).jpg

小Z寫東西總是那麼詳細。頂上!
PS: 樓主的頭像很雷 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總是調試不好 按照網上說的做了還多次
仍舊不行  前期最終選擇了放棄  看了樓主發表的具體配置方法 很是感激 不過還有上面
兩個疑問  謹希望能夠得到樓主的最快最詳細的回復答案  非常感謝 sejie10011 (2009-3-31 11:07:11) 樓主寫得那麼詳細。頂上! zwws (2009-3-31 12:22:52) 1、呵呵,解決問題的方法很重要的,如果你知道zend_optimizer是如何安裝的,那不就解決問題了麼?
我用“zend_optimizer php.ini”在google搜到了這篇文章
http://ideacm.com.cn/read.php?12
所以你只要根據文章在本地的php.ini裡找到文章內提到的相關語句注釋掉不就好了嘛,其實就是"zend_Optimizer."打頭的語句。當然,前提是你安裝了zend_optimizer.

2、xdebug 2.0.4 支持 PHP 5.2.9的。 zwws (2009-3-31 12:24:14) 豆瓣淘滴。 niohe (2009-3-31 22:43:54) 多謝LZ指教!! iminto (2009-4-02 19:58:07) 支持樓主 大碗茶 (2009-4-03 17:02:32) zend optimizer和 xdebug是可以共存的 qgymje (2009-8-27 11:56:53) 我想問一下我的這個情況
http://bbs.phpchina.com/thread-149075-1-1.html
調試後步入步出不能用 zhenjiangdeni (2010-6-23 14:42:03) 樓主,我都按照你說的配置了,為什麼,ide又下角老是顯示   正在等待連接(netbeans-xdebug).沒有辦法調試 luzhou (2010-6-25 19:29:22) 不錯啊! luzhou (2010-6-25 19:31:05) http://zh-cn.netbeans.org/kb/docs/php/debugging.html gguoyu (2010-6-25 20:58:24) 回復 12# zhenjiangdeni

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved