XDebug с Mamp не работает в NetBeans - PullRequest
0 голосов
/ 18 октября 2011

Я частично использовал XDebug с PhpStorm и Mamp, но теперь я хочу попробовать использовать NetBeans для проекта.Но я не могу подключить NetBeans к XDebug.Он просто ждет, пока я остановлю отладчик, а затем получаю сообщение о том, что NetBeans никогда не подключался к XDebug, и просит меня проверить настройки в php.ini.

Теперь, как я уже сказал, это сработалоХорошо с PhpStorm, так что я не думаю, что с настройками в php.ini должно быть что-то не так, но в любом случае, вот они:

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000  

Одна вещь, которая показалась мне странной, это то, что все говорят оphp.ini находится в / Applications / Mamp / conf, но в этой папке, по крайней мере, нет php.ini в моей настройке.В /Applications/Mamp/bin/php/php5.3.6/conf, с другой стороны, есть.Так что это тот, который я изменил.И поскольку он работает в PhpStorm, я полагаю, что он должен быть правильным ...

Но тогда почему NetBeans не может подключиться?Я также использую плагин XDebug для Safari, чтобы подключить его в браузере.И порт в NetBeans установлен на 9000, как в файле php.ini.

Я использую NetBeans 7.0.1 и php5.3.6.

Что-то еще мне не хватает?

РЕДАКТИРОВАТЬ:

Ну, я обнаружил проблему, почему XDebug не подключался в любом случае: я использую надстройку для Safari для XDebug, и, по-видимому, он имеет свою собственную настройку для IDE Key, установите в 1, в то время как NetBeans имеет установленный netbeans-xdebug.Как только я изменил его на последний в надстройке, я получил соединение.Проблема в том, что я все еще получаю какую-то ошибку.Там написано: 404 Страница не найдена, когда я попал в отладчик, а адрес в поле адреса: http://localhost/app_netbeans/index.php?XDEBUG_SESSION_START=netbeans-xdebug

Есть идеи, что здесь происходит?

Кстати, просто нажмите "Выполнить"внутри NetBeans работает нормально и открывает http://localhost/app_netbeans (я использовал mod_rewrite для удаления части index.php URL в CodeIgniter)

РЕДАКТИРОВАТЬ 2: я обнаружил, что часть index.php адреса былапотому что в конфигурации запуска в NetBeans был параметр «индексный файл», который по умолчанию был установлен как index.php.Если я удалил это, чтобы иметь URL-адреса «контроллера» CodeIgniter без index.php, я получил правильный URL-адрес, но с добавленным после него материалом xdebu.Но все равно я получаю страницу 404, которая не найдена, когда я использую команду отладчика, но не когда я использую команду запуска.

Достаточно странно, что я могу нажать отладку, игнорируя тот факт, что она переходит кСтраница 404 не найдена, и вернитесь в среду IDE, нажмите Run и, если у меня установлена ​​точка останова, она остановится на этой точке останова.

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

Ответы [ 3 ]

3 голосов
/ 22 октября 2011

Используйте эту конфигурацию и убедитесь, что вы обновляете Netbeans для использования порта 9001.

[xdebug]

zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_enable=1
xdebug.idekey="netbeans-xdebug"

Я обнаружил, что порт 9000 иногда конфликтует с другими приложениями, и xdebug, по-видимому, завершается с ошибкой, если не может его использовать.

0 голосов
/ 06 сентября 2013

Мой наконец-то работает, поэтому я хотел опубликовать полную конфигурацию php.ini:

[xdebug]
; got this script from https://netbeans.org/kb/docs/php/configure-php-environment-mac-os.html
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.idekey="netbeans-xdebug"
zend_extension="/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_log="/Applications/MAMP/logs/xdebug_remote.log"

Вы также можете проверить, настроен ли ваш проект для копирования в другой каталог в настройках проекта Netbeans.После того, как я изменил этот параметр, мне пришлось перезапустить Netbeans и MAMP с помощью команды quit.

Только на заметку:

  • Нет index.php в моих свойствах запуска
  • Стоп в первой строке отключен в настройках отладки
  • Я думаю, что переход на порт 9001 изменил мою систему
0 голосов
/ 21 октября 2011

используйте следующий код ..

zend_extension="path to the xdebug.so"
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[xdebug]
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

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

  1. Перейти в меню инструментов и выбрать опции
  2. нажмите на php и проверьте номер порта.

enter image description here

...