#php #debugging #netbeans #xdebug
#php #отладка #netbeans #xdebug
Вопрос:
Я пытаюсь использовать Xdebug в сочетании с NetBeans для отладки моего PHP-кода. И он уже работает так, как ожидалось, при установке xdebug_break()
инструкции в моем коде, т. Е. Выполнение останавливается на строке после него.
Хотя это не работает, когда я устанавливаю точку останова для строки в пользовательском интерфейсе NetBeans.
Моя конфигурация выглядит следующим образом:
Программы:
- NetBeans 8.1
- Xdebug 2.4.1 (потокобезопасный, 64-разрядный)
- PHP 5.6.26 (потокобезопасный, 64-разрядный)
Конфигурация:
php.ini
zend_extension="C:Program FilesPHPextphp_xdebug-2.4.1-5.6-vc11-x86_64.dll"
[xdebug]
xdebug.remote_enable = On
xdebug.idekey = NetBeans
xdebug.remote_port = 9001
xdebug.var_display_max_children = 1024
NetBeans:
Итак, почему xdebug_break()
работает, но не точки останова?
Комментарии:
1. если вы запустите свою страницу с параметрами «XDEBUG_SESSION_START = netbeans-xdebug», поможет ли это? нравится этот localhost/?XDEBUG_SESSION_START=netbeans-xdebug
2. NetBeans делает это автоматически, когда я нажимаю кнопку Debug Project . Обратите внимание, что мой ключ IDE называется «NetBeans»; поэтому страница вызывается с
XDEBUG_SESSION_START=NetBeans
параметром as.
Ответ №1:
Оказалось, что причиной такого неожиданного поведения был неправильный URL-адрес проекта в конфигурации запуска. Поле URL проекта фактически требует установки корневого URL проекта, а поле индексного файла принимает путь к индексному файлу.
Итак, вместо того, чтобы писать это:
URL проекта: http://localhost/project_name/some/path/
Индексный файл: index.php
Я должен был написать это:
URL проекта: http://localhost/project_name/
Индексный файл: some/path/index.php