簡體   English   中英

如何使用netbeans和Xdebug調試PHP

[英]How to debug PHP with netbeans and Xdebug

在Smashing雜志的IDE評論中評價如此之高之后,我最近嘗試使用Netbeans 6.5。 http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/

我從Notepad ++切換的主要原因是我希望能夠調試我的代碼並通過它進行設置。

我已經按照有關如何從供應商http://xdebug.org/和netbeans網站安裝xdebug的說明進行操作。 http://www.netbeans.org/kb/docs/php/debugging.html#gettingReady但無濟於事。

它是如何完成的,有沒有其他人在netbeans中進行調試?

(我的設置是:Windows XP,Wamp server 2.0,PHP 5,Netbeans 6.5.1)

在php.ini中添加這一行非常重要:

xdebug.idekey="netbeans-xdebug"

注意:在NetBeans中,轉到“設置”並查看xdebug內容的設置位置。 查找該會話ID。 就我而言,它是netbeans-xdebug。

嗯,對我來說,netbeans是php調試開箱即用的第一個ide。

xdebug是否顯示在phpinfo中? 如果是,它應該使用默認設置。 唯一需要的是:

xdebug.remote_enable=on

因此,如果未啟用此功能,請將其放入php.ini文件中,重啟apache,調試應該可行。

如果沒有,您將不得不為我提供更多信息來幫助您。

SY

我后來發現WAMP,當用Mod_rewrite和cURL安裝時無法應付Xdebug。

這是一個已知錯誤並且每次都會崩潰。

http://phphints.wordpress.com/2008/10/24/wampserver-phpini-settings-for-use-with-xdebugdll-pear-and-silverstripe-cms-framework/

不幸的是,我也在使用這兩個庫。

xdebug給出了curl或mod_rewrite的問題並不是一個已知的問題。 我所知道的唯一問題是Vista上的Xdebug。

你可以在這里看到: http//ruilima.com/2010/11/ambiente_de_desenvolvimento_php_netbeans_xdebug/是葡萄牙語,但有一個預配置的虛擬機,Ubuntu 10.10,netbeans,php,mysql,xdebug,隨時可以使用。 看一看

如果您在Windows下使用xampp:

您只需要打開php.ini文件並更改這兩行

;xdebug.profiler_enable = 0
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

xdebug.profiler_enable = 1
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

(注意:如果你的xampp版本是舊的,你必須從http://xdebug.org/download.php下載它,下載32位甚至你的操作系統是64位。例如你下載的xdebug的名字是php_xdebug -2.2.1 -5.4-vc9.dll 。首先將php_xdebug-2.2.1-5.4-vc9.dll復制到目錄C:\\ xampp \\ php \\ ext \\,然后你的第二行將是zend_extension = "C:\\xampp\\php\\ext\\php_xdebug-2.2.1-5.4-vc9.dll

在那之后停止apache並重新開始,就是這樣。

我發現在Netbeans中你需要將項目中的webroot路徑設置為app / webroot。 如果你這樣做,調試工作完美無瑕。

在我的情況下,這是一個在我的機器(Windows 7)上運行的進程,它使用的端口9000已經叫做aeagent.exe

我將我的php.ini設置更改為“xdebug.remote_port = 9001”,在netbeans中進行了相應的更改,然后重新啟動了Apache。 現在它有效。

感謝SysInternals TCPView工具。

轉到http://wiki.netbeans.org/HowToConfigureXDebug 您應該遵循一系列步驟,這可能對您有所幫助。

但很可能你只需要一個新版本的xdebug-binary。 轉到http://xdebug.org/wizard.php找出你需要的二進制文件,你的問題可能會得到解決。

當在Ubuntu下運行netbeans時,我也面臨着這個問題,似乎我已經嘗試了在互聯網上找到的所有解決方案,但都是徒勞的。

唯一最終幫助的是使用SUDO命令運行netbeans! 看起來普通用戶沒有權限偵聽端口9000(或任何其他)。

sudo netbeans &

...瞧,我可以再次調試! 也許它會為你節省一兩天

現在它的工作是浪費3個小時使xdebug在Windows8上工作,wamp 2.2替換[xdebug]下面的原始行以下

    zend_extension = "c:/wamp/bin/php/php5.3.13/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll"
    ;make sure path of your own php_xdebug, dll version may vary.

    [xdebug]

    xdebug.remote_enable = on
    xdebug.remote_handler=dbgp
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
;recheck your port number in netbeans [Tools=>options=>php=>debugging there it is: debugging port]
    xdebug.profiler_enable = on
    xdebug.profiler_enable_trigger = on
    xdebug.profiler_output_name = cachegrind.out.%t.%p
    xdebug.profiler_output_dir = "c:/wamp/tmp"

現在點擊任務欄中的wamp圖標並“重啟所有服務”

嗯..現在最后一步>> START NETBEANS作為管理員windows8的Holly靈魂我討厭你:<

我偶爾會遇到NetBeans和XDebug的問題,這些問題一直存在於與正在調試的代碼無關的Watch語句中。

在這種情況下,調試器失敗並出現Socket異常。

如果您發現這導致您的問題,請刪除所有手表。 一般來說,雖然我發現XDebug非常方便!

但我確實意識到這可能與你在這里遇到的問題無關,但值得注意。

在同一站點PHP Netbeans上找到了相同問題的解決方案:xdebug在每個include()或require()上停止

錯誤的是,遺忘了

[xdebug]

作為php-ini中的節頭。 當然,在另一個部分開始之前“停放”你的東西(例如[Date]或[iconv]),否則你會意外地把它們放在錯誤的部分。 (在php.ini的評論djungle中,這很容易發生。)

如果您遇到Apache在運行調試器時決定崩潰的問題(這就是我所擁有的並且非常煩人)。 我很確定我重新安裝了xampp並重新設置了xdebug。 我認為問題是在php.ini中設置了很奇怪的zend-debugger而我沒有修改正確的php.ini。

最后重新安裝並重置后,我得到了正常的工作。

我現在運行了一個開發版的Netbeans,它已經與xdebug進行了網絡調試,所以我們將它從我們的開發服務器上運行它並且它有效。

祝你好運,關於如何使用net beans設置xdebug,沒有特別好的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM