Проблема Xdebug и Netbeans - PullRequest
       9

Проблема Xdebug и Netbeans

14 голосов
/ 25 декабря 2010

Я пытаюсь настроить 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"

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

Ответы [ 8 ]

15 голосов
/ 29 декабря 2010

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

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

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

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

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

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

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

3 голосов
/ 11 июня 2013

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

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

до

xdebug.remote_enable = 1

сделал трюк

1 голос
/ 20 декабря 2011

Добавление index.php помогло мне.

0 голосов
/ 12 марта 2017

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

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

0 голосов
/ 16 ноября 2014

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

0 голосов
/ 17 сентября 2014

После обновления до новой версии 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 = on к этому файлу устранило проблему.

PS - это работает в NetBeans 8.0.1

0 голосов
/ 18 октября 2013

Я решил эту проблему с помощью конфигурации windows -> remote LAMP server после прочтения следующего поста, оставив ссылку на тот случай, если кому-то это пригодится:

http://stuporglue.org/setting-up-xdebug-with-netbeans-on-windows-with-a-remote-apache-server/comment-page-1/#comment-6227

0 голосов
/ 27 марта 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...