Во-первых, проверьте, что это на самом деле не работает для вас, и вы не замечаете. Я сделал это ... убежден, что это не работает. Я потратил кучу времени, пытаясь заставить его работать, только чтобы убедиться, что все в порядке.
Посмотрите на строку состояния 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 между итерациями. И, хотите верьте, хотите нет, перезапустите браузер.