Как отлаживать 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 Server 2.0, PHP 5, Netbeans 6.5.1)

Важно добавить эту строку в php.ini:

xdebug.idekey="netbeans-xdebug" 

Примечание. В NetBeans перейдите в «Настройки» и посмотрите, где настроен файл xdebug. Найдите этот идентификатор сеанса. В моем случае это был netbeans-xdebug.

hm, для меня, netbeans был первым идеем, что отладка php работала из коробки.

Отображается ли xdebug в phpinfo? если он работает, он должен работать с настройками по умолчанию. единственное, что необходимо:

 xdebug.remote_enable=on 

Поэтому, если это не включено, поместите его в файл php.ini, перезапустите apache, и отладка должна работать.

Если нет, вам нужно будет предоставить больше информации для меня, чтобы помочь вам.

сы

С тех пор я обнаружил, что 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 библиотеки.

Это не проблема с информацией о том, что xdebug дает проблемы с curl или mod_rewrite. Единственные проблемы, о которых я знаю, – это Xdebug на Vista.

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

Я узнал, что в Netbeans вам нужно установить путь webroot в проектах к app / webroot. Если вы выполняете эту отладку, работа выполняется безупречно.

Если вы используете 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 и начните снова, вот и все.

Если у вас возникла проблема, при которой Apache решает сбой при каждом запуске отладчика (это то, что у меня было и очень раздражает). Я уверен, что я снова установил xampp и переустановил xdebug. Я думаю, что проблема связана с тем, что zend-debugger настроен странно в php.ini, и я не изменяю правильный php.ini.

В конце концов после повторной установки и перезагрузки я получил работу.

Теперь я запускаю выпуск dev Netbeans, который отлаживает сетевую отладку с помощью xdebug, поэтому мы запускаем все это с нашего сервера разработки, и это работает.

Удачи. Существует не очень приличная документация о том, как настроить xdebug с помощью сетевых бобах.

У меня были случайные проблемы с NetBeans и XDebug, которые были недоступны для инструкции Watch, которая не связана с отлаживаемым кодом.

В этом случае отладчик просто не работает с Socket Exception.

Удалите все часы, если вы обнаружите, что это вызывает вашу проблему. Вообще, хотя я нашел XDebug чрезвычайно удобным!

Однако я понимаю, что это может не относиться к проблеме, которую вы здесь, но об этом стоит знать.

нашел решение одной и той же проблемы на одном сайте PHP Netbeans: xdebug останавливается на каждом include () или require ()

Ну, проступок был, забыв

 [xdebug] 

как заголовок раздела в php-ini. И, конечно же, «запаситесь» своими вещами прямо перед началом другого раздела (например, [Дата] или [iconv]), иначе вы случайно разместите их в неправильном разделе. (В комментарии djungle php.ini это происходит легко.)

В моем случае это был процесс, выполняющийся на моей машине (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, чтобы узнать, какой бинарный файл вам нужен, и ваша проблема может быть решена.

При запуске netbeans под Ubuntu я тоже сталкивался с этой проблемой, кажется, что я пробовал все решения, найденные в Интернете, но все напрасно.

Единственное, что в конечном итоге помогло, – запустить netbeans с командой SUDO! Похоже, у обычного пользователя нет разрешения прослушивать порт 9000 (или любой другой).

 sudo netbeans & 

… и вуаля, я могу снова отлаживать! Может быть, это сэкономит вам день или два

Теперь он работает после Wasting 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 я тебя ненавижу: <

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