Проблема Xdebug и Netbeans

Я пытаюсь настроить xdebug для работы с Netbeans 6.9 и php 5.3
Насколько я хочу, я правильно установил xdebug.
Я вижу расширение xdebug с страницы phpinfo.
Я прочитал другой пост и попробовал их предложение, но безрезультатно

Когда я нажимаю кнопку отладки, он прямо открывает страницу в браузере, и я вижу сообщение "Ожидание соединения" в нижней панели netbeans

Здесь моя настройка в php.ini

zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey="netbeans-xdebug"

Любая помощь будет оценена

Ответ 1

Во-первых, убедитесь, что он на самом деле не работает для вас, и вы не заметили. Я сделал это... убедил, что он не работает. Я потратил кучу времени, пытаясь заставить его работать, только чтобы найти, что все в порядке.

Посмотрите на строку состояния NetBeans. Если вы видите "netbeans-xdebug" и "running", то на самом деле он работает нормально. Вероятно, вы отключили опцию "Стоп на первой линии", и вы не ударили ни о каких контрольных точках, которые вы установили (если они есть). Это было бы причиной того, что вы видите страницу с небольшим или отсутствующим индикатором того, что отладчик фактически подключен.

Если вместо этого вы видите "Ожидание соединения (netbeans-xdebug)", а индикатор выполнения работает на велосипеде, то вы действительно не подключены. Откройте Инструменты | Параметры и перейдите на страницу PHP. На общей вкладке убедитесь, что "Порт отладчика" равен 9000, а "Идентификатор сеанса" - "netbeans-xdebug". Возможно, вы захотите проверить "Стоп на первой линии". Я этого не делаю, поскольку мне это немного раздражает. Я определенно гарантирую, что "Часы и оценка шаров" не проверяется. Этот параметр вызывает дестабилизацию NetBeans и отладчика. Если вам нужны часы, взломайте локальную переменную в код PHP, где она вам нужна, и вы увидите ее на вкладке "Переменные" при запуске отладчика. Также убедитесь, что файл (index.php) указан в проекте Run Configuration > Index File.

Поскольку вы видите xdebug в phpinfo(), это конец. Просто убедитесь, что все значения выглядят разумно и что есть некоторая ссылка на файл cookie "XDEBUG_SESSION = netbeans-xdebug" где-то на этой странице. (Убедитесь, что в браузере отключены файлы cookie!)

Единственное, что нужно проверить, это проверить, работает ли какая-либо брандмауэр/программа безопасности, которая будет блокировать TCP/UDP локально (что было бы супер-нечетным, но не из сферы возможностей), или этот порт 9000 еще не используется другим приложением. По какой-то причине я использую другой номер порта в своей локальной настройке. Я не помню, как менял его, но я уверен, что единственная причина, по которой я столкнулся, - это если я столкнулся с конфликтом порта с чем-то другим.

Последнее: мы предположили, что вы используете NetBeans и веб-сервер на том же компьютере. Это общая конфигурация, но не единственная. Если ваш веб-сервер находится на другом компьютере, измените localhost на xdebug.remote_host=localhost на IP-адрес компьютера, на котором работает NetBeans.

Еще одна вещь: при циклическом перерыве между итерациями, пока вы не увидите информацию xdebug в phpinfo(), перезапустите apache/php. После этого перезапустите NetBeans между итерациями. И верьте или нет, перезагрузите браузер.

Ответ 2

Для меня это менялось

;xdebug.remote_enable = 0 (default value in clean XAMPP installation)

к

xdebug.remote_enable = 1

сделал трюк

Ответ 3

Добавление index.php сделало трюк для меня.

Ответ 4

Я не мог понять, почему некоторые из моих проектов будут подключаться к отладчику, а другие - нет. Тогда я понял, что те, которые не соединяются, начинаются с index.html. Как только я переименовал эти файлы в index.php, отладчик подключился без проблем.

Ответ 6

После обновления до нового Ubuntu 14.4 мой NetBeans Xdebug перестает работать. Я следил за всеми ответами выше на сегодняшний день безрезультатно.

Я нашел инструкцию NetBeans Ubuntu, что файл /etc/php 5/cli/conf.d/xdebug.ini должен иметь xdebug.remote_enable = on. Когда я проверил каталог /etc/php 5/cli/conf.d, я не нашел файл xdebug.ini. Однако была ссылка на /etc/php 5/mods-available/xdebug.ini. Последующее добавление xdebug.remote_enable = к этому файлу устраняет проблему.

PS - Это работает на NetBeans 8.0.1

Ответ 7

Когда я попытался отладить Yeoman WebApps на базе PHP-сервера в Netbeans, статус продолжает показывать "Ожидание соединения". Вероятно, потому, что index.html не имеет никакого отношения к php. Это только тогда, когда я вызвал ajax, который нуждался в обработке PHP, соединение с xdebug немедленно связано и отлаживается, как обычно. Надеюсь, что это еще один взгляд на кого-то, поскольку я наткнулся на "думаю", что есть проблема и попытка исправить ini.

Ответ 8

Альтернативой является проект Dephpugger. Это похоже на ipdb в python или byebug в Ruby. https://github.com/tacnoman/dephpugger

Очень прост в использовании.