Как да отстранявате грешки в PHP с netbeans и Xdebug

Наскоро се опитах да продължа с Netbeans 6.5, след като го оцени толкова високо в прегледа на IDE от списание Smashing. http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/

Основната ми причина да премина от Notepad++ е, че бих искал да мога да отстранявам грешки в кода си и да го настройвам.

Следвах инструкциите как да инсталирам xdebug както от доставчика http://xdebug.org/, така и от мрежата на netbeans сайт. http://www.netbeans.org/kb/docs/php/debugging.html#gettingReady, но без резултат.

Как се прави, има ли някой друг отстраняване на грешки в netbeans?

(Моята настройка е: Windows XP, Wamp сървър 2.0, PHP 5, Netbeans 6.5.1)


person Jon Winstanley    schedule 28.03.2009    source източник
comment
Преди да загубите много време в опити да разберете как да накарате отстраняването на грешки в Netbeans да работи с mod_rewrite, няма да стане. Вижте netbeans.org/bugzilla/show_bug.cgi?id=152262 Това < i>ще обаче работи с команден ред и .php файлове.   -  person cbednarski    schedule 17.12.2010
comment
FYI, човекът, който получи 3 гласа против, известен още като Дерик Ретанс, написа xdebug. Той не е роден език, така че само за сведение.   -  person joedevon    schedule 20.09.2012


Отговори (16)


Важно е да добавите този ред в php.ini:

xdebug.idekey="netbeans-xdebug"

Забележка: В NetBeans отидете на Настройки и вижте къде са настроени нещата за xdebug. Потърсете този ID на сесията. В моя случай беше netbeans-xdebug.

person openfrog    schedule 22.12.2009

хм, за мен netbeans беше първата идея, че отстраняването на грешки в php работи веднага.

Показва ли се xdebug в phpinfo? ако го направи, трябва да работи с настройките по подразбиране. единственото, което е необходимо е:

xdebug.remote_enable=on

Така че, ако това не е активирано, поставете го във вашия php.ini файл, рестартирайте apache и отстраняването на грешки трябва да работи.

Ако не, ще трябва да ми предоставите повече информация, за да ви помогна.

sy

person Community    schedule 30.03.2009

Оттогава открих, че WAMP, когато е инсталиран с Mod_rewrite и cURL, не може да се справи с Xdebug.

Това е известна грешка и се срива всеки път.

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

За съжаление, аз също използвам тези 2 библиотеки.

person Jon Winstanley    schedule 30.03.2009

Не е известен проблем, че xdebug дава проблеми с curl или mod_rewrite. Единствените проблеми, за които знам, са с Xdebug на Vista.

person Derick Rethans    schedule 14.05.2009
comment
xdebug дава проблеми с curl или mod_rewrite - Бихте ли по-конкретни? - person Sk8erPeter; 07.10.2013

Можете да видите тук: http://ruilima.com/2010/11/ambiente_de_desenvolvimento_php_netbeans_xdebug/ е на португалски, но има предварително конфигурирана виртуална машина с Ubuntu 10.10, netbeans, php, mysql, xdebug, готова за използване. погледни

person Rui    schedule 30.11.2010
comment
Това е наистина полезно ръководство. Благодаря, че отделихте време да го напишете. - person takeshin; 31.03.2011

Разбрах, че в Netbeans трябва да зададете webroot пътя в проектите на app/webroot. Ако направите това отстраняването на грешки работи безупречно.

person RaScoop    schedule 06.08.2010

Ако използвате xampp под Windows:

Трябва само да отворите своя файл 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 и започнете отново, това е.

person macio.Jun    schedule 26.11.2012

Ако имате проблема, при който Apache решава да се срине всеки път, когато стартирате програмата за отстраняване на грешки (това е, което имах и е изключително досадно). Доста сигурен съм, че преинсталирах xampp и настроих отново xdebug. Мисля, че проблемът беше свързан с това, че zend-debugger беше настроен странно в php.ini и аз не модифицирах правилния php.ini.

В крайна сметка, след като го преинсталирах и нулирах, успях да работи добре.

Сега стартирам версия за разработка на Netbeans, която има мрежово отстраняване на грешки с xdebug, така че стартираме всичко от нашия сървър за разработка и работи страхотно.

Успех, няма особено прилична документация за това как да настроите xdebug с net beans.

person Joel    schedule 14.05.2009

Имах случайни проблеми с NetBeans и XDebug, които се свеждаха до наличието на оператор Watch, който не е свързан с кода, в който се отстраняват грешки.

В този случай дебъгерът просто се проваля с Socket Exception.

Премахнете всички часовници, ако установите, че това причинява проблема ви. Като цяло обаче намерих XDebug за изключително удобен!

Осъзнавам обаче, че това може да не е свързано с проблема, който имате тук, но си струва да сте наясно.

person Ian Lewis    schedule 06.05.2010

намери решението на същия проблем на същия сайт PHP Netbeans: xdebug спира при всяко включване() или изискване()

person user473445    schedule 25.02.2011

Ами грешно беше, забравяне

[xdebug]

като заглавка на раздел в php-ini. И разбира се, „паркирайте“ вашите неща точно преди началото на друг раздел (напр. [Дата] или [iconv]), в противен случай случайно ще ги поставите в грешния раздел. (В джунглата за коментари на php.ini това се случва лесно.)

person Frank Nocke    schedule 07.10.2011

В моя случай това беше процес, работещ на моята машина (Windows 7), който използва порт 9000, който вече се нарича aeagent.exe

Промених настройката си за php.ini на "xdebug.remote_port=9001", направих съответната промяна в netbeans, след което рестартирах Apache. Сега работи.

Благодарение на инструмента SysInternals TCPView.

person Josh    schedule 06.07.2012

Отидете на http://wiki.netbeans.org/HowToConfigureXDebug . Има голям списък от стъпки, които трябва да следвате, които може да ви помогнат.

Но най-вероятно просто се нуждаете от нова версия на xdebug-binary. Отидете на http://xdebug.org/wizard.php, за да разберете какъв двоичен файл ви трябва и вашия проблем може да бъде решен.

person Pascal Klein    schedule 16.08.2012

Когато стартирах netbeans под Ubuntu, аз също се сблъсках с този проблем, изглежда, че опитах всички решения, намерени в интернет, но всички напразно.

Единственото нещо, което най-накрая помогна, беше стартирането на netbeans с команда SUDO! Изглежда, че обикновеният потребител не е имал разрешение да слуша на порт 9000 (или който и да е друг).

sudo netbeans &

...и готово, мога отново да отстранявам грешки! Може би това ще ви спести ден-два

person Aleksander Belov    schedule 25.10.2012

Сега работи, след като загубих 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 в лентата на задачите и „рестартирайте всички услуги“

Е..Сега последна стъпка>>ЗАПОЧНЕТЕ NETBEANS КАТО АДМИНИСТРАТОР Holly soul of windows8 мразя те :‹

person Danish Kayani    schedule 20.09.2013

Прегледайте документа по-долу за отдалечено отстраняване на грешки с помощта на NetBeans. http://stuporglue.org/setting-up-xdebug-with-netbeans-on-windows-with-a-remote-apache-server/

person Krishna Chaitanya    schedule 09.10.2013