Я пытаюсь настроить 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"
Любая помощь будет оценена
Во-первых, убедитесь, что он на самом деле не работает для вас, и вы не замечаете. Я сделал это … убедился, что это не работает. Я потратил кучу времени, пытаясь заставить его работать, только чтобы найти, что все в порядке.
Посмотрите на строку состояния NetBeans. Если вы видите «netbeans-xdebug» и «running», то на самом деле он работает нормально. Вероятно, вы отключили опцию «Стоп на первой линии», и вы не ударили ни о каких контрольных точках, которые вы установили (если они есть). Это было бы причиной того, что вы видите страницу с небольшим или отсутствующим признаком того, что отладчик фактически подключен.
Если вместо этого вы видите «Ожидание подключения (netbeans-xdebug)», а индикатор выполнения – циклический, то вы действительно не подключены. Откройте Инструменты | Параметры и перейдите на страницу PHP. На общей вкладке убедитесь, что «Порт отладчика» равен 9000, а «Идентификатор сеанса» – «netbeans-xdebug». Возможно, вы захотите проверить «Стоп на первой линии». Я этого не делаю, поскольку мне это немного раздражает. Я определенно гарантирую, что «Часы и оценка шаров» не проверяется. Этот параметр вызывает дестабилизацию NetBeans и отладчика. Если вам нужны часы, взломайте локальную переменную в код PHP, где она вам нужна, и вы увидите ее на вкладке «Переменные» при запуске отладчика. Также убедитесь, что файл (index.php) указан в Project Run> Index File.
Так как вы видите phpinfo()
в phpinfo()
, это конец. Просто убедитесь, что все значения выглядят разумно и что есть некоторая ссылка на файл cookie «XDEBUG_SESSION = netbeans-xdebug» где-то на этой странице. (Убедитесь, что в браузере отключены файлы cookie!)
Единственное, что нужно проверить, – проверить, работает ли какая-либо брандмауэр / программа безопасности, которая будет блокировать TCP / UDP локально (что было бы супер-нечетным, но не из сферы возможностей), или что порт 9000 не является уже используется другим приложением. По какой-то причине я использую другой номер порта в своей локальной настройке. Я не помню, как меняю его, но я уверен, что единственная причина, по которой я столкнулся, – это то, что я столкнулся с конфликтом порта с чем-то другим.
Последнее: мы предположили, что вы используете NetBeans и веб-сервер на одном компьютере. Это обычная конфигурация, но не единственная. Если ваш веб-сервер находится на другом компьютере, измените localhost на xdebug.remote_host=localhost
на IP-адрес компьютера, на котором запущен NetBeans.
Еще одна вещь: при циклическом перерыве между итерациями, пока вы не увидите информацию xdebug в phpinfo (), перезапустите apache / php. После этого перезапустите NetBeans между итерациями. И верьте или нет, перезагрузите браузер.
Для меня это менялось
;xdebug.remote_enable = 0 (default value in clean XAMPP installation)
в
xdebug.remote_enable = 1
сделал трюк
Добавление index.php сделало трюк для меня.
Я не мог понять, почему некоторые из моих проектов будут подключаться к отладчику, а другие – нет. Тогда я понял, что те, которые не соединяются, начинаются с index.html. Как только я переименовал эти файлы в index.php, отладчик подключился без проблем.
Я решил это с помощью конфигурации Windows -> remote LAMP server после прочтения следующего сообщения, оставив ссылку на случай, если кто-нибудь найдет ее удобной:
Только что обновленный до нового Ubuntu 14.4 мой NetBeans Xdebug перестает работать. Я следил за всеми ответами выше на сегодняшний день безрезультатно.
Я нашел заявление NetBeans Ubuntu, что файл /etc/php5/cli/conf.d/xdebug.ini должен иметь xdebug.remote_enable = on. Когда я проверил каталог /etc/php5/cli/conf.d, я не нашел файл xdebug.ini. Однако была ссылка на /etc/php5/mods-available/xdebug.ini. Последующее добавление xdebug.remote_enable = к этому файлу устраняет проблему.
PS – Это работает на NetBeans 8.0.1
Когда я пытался отлаживать Yeoman WebApps на базе PHP-сервера в Netbeans, статус продолжает показывать «Ожидание соединения». Вероятно, потому, что index.html не имеет ничего общего с php. Только когда я вызвал ajax, который нуждался в обработке PHP, соединение с xdebug было немедленно связано и отлаживалось, как обычно. Надеюсь, что это еще один взгляд на кого-то, поскольку я наткнулся на «думаю», что есть проблема и попытка исправить ini.
Альтернативой является проект Dephpugger. Это похоже на ipdb в python или byebug в Ruby. https://github.com/tacnoman/dephpugger
Очень прост в использовании.