Вопрос по – Xdebug + XAMPP + Netbeans = сбой. Не удается заставить отладчик работать в Netbeans

2

Я прочитал другие вопросы по этой теме. Перечисленные решения не сработали.

Установлены:

XAMPP 1.7.7

Netbeans 7.1.1

XDebug 2.1.4

phpinfo () показывает, что Xdebug установлен со всеми правильными параметрами:

zend_extension = C:\xampp\php\ext\php_xdebug-2.1.4-5.3-vc9.dll

xdebug.remote_enable = on

xdebug.remote_handler = "dbgp"

xdebug.remote_host = "localhost"

xdebug.remote_port = 9000

Тем не менее, когда я запускаю сеанс отладки Netbeans, он некоторое время безрезультатно зацикливается. Когда я его прекращаю, я получаю информационное окно, информирующее меня о том, что "соединение с xdebug не обнаружено с помощью innn секунд. Причины могут быть в том, чтоxdebug is not installed or not properly configured. (их акцент).

Насколько я могу сказать, я все настроил правильно, перезапустил сервер Apache, и он все еще не работает. Я в полном недоумении по поводу того, как поступить. Любая помощь приветствуется.

Другое приложение: я запустил php -m и получил ответ: [Zend Modules] Xdebug. Так что я знаю, что в php загружен модуль. Я также узнал, что эта проблема известна многим как страшное «Ожидание соединения». призрак, который преследовал больше, чем только я. Mike S.
Попытался добавить это в php.ini: xdebug.remote_log = & quot; c: /xampp/tmp/bp-edi.txt" ;. Перезапустил apache, запустил отладчик, запустил на несколько секунд, остановил его. Нет файла журнала. :( Mike S.
Создать журнал отладки (см.xdebug.org/docs/all_settings#remote_log) и посмотреть, если xdebug пытается подключиться ... Derick
Проверено, что Xdebug правильно установлен через их тестовую программу. Изменено местоположение файла журнала на xdebug.remote_log = & quot; c: \ xampp \ apache \ logs \ xdebug_remote & quot; основанный на другом сообщении форума. По-прежнему нет выхода. Mike S.

Ваш Ответ

5   ответов
-1

the php.ini file as suggested: http://netbeans.org/kb/docs/php/configure-php-environment-windows.html

Create your PHP project in the local XAMPP directory, c:\xammp\htdocs\*yourproject*

Debug the index.php, you will see that your browser will start with additional parameters: http://*yourproject*/index.php?XDEBUG_SESSION_START=netbeans-xdebug

Go to your Netbeans, your debugger will be started.

Я уже решил вопрос месяц назад. Ваш ответ не добавил ничего нового. Mike S.
2

и хотя ваш ответ обошел мою проблему, я думаю, что нашел решение, которое исправит это навсегда.

Свойства проекта = & gt; Запустить конфигурацию = & gt; Продвинутый ... Убедитесь, что выбрана следующая запись URL отладки: «по умолчанию: ВАШ URL»;

В моем браузере было установлено "Не открывать веб-браузер". ..... Теперь он работает так же, как работал много месяцев назад :)

0

Я думаю, что вам может не хватать

xdebug.idekey=netbeans-xdebug

это настройки, которые я использую в своем php.ini

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1    # Not safe for production servers
xdebug.remote_port=9000
xdebug.idekey=netbeans-xdebug
xdebug.remote_autostart=false
3

й проблемы, я, наконец, нашел причину, которую я могу классифицировать только как ошибку. Теперь, как мне сообщить об ошибке? Это следующий вопрос.

Вот краткое изложение:

create PHP project and setup NetBeans project site root to subfolder. (In order to not register for Apache new test site for any new task I put every new task into subfolder under my local test domain, e.g. http://test.my/project3/ ). NetBeans will not start debugging session automatically in this case. You will see a ‘waiting for connection’ message from the image below. Do not worry. Left it as it is. Go to your browser. I use FireFox 4. And call the script you wish to debug with additional parameter, e.g. http://test.my/project3/index.php?XDEBUG_SESSION_START=netbeans-xdebug

When you return to NetBeans you will see that connection with xdebug is established successfully. To stop XDebug session manually call any script from the same subdirectory with this parameter ?XDEBUG_SESSION_STOP_NO_EXEC=netbeans-xdebug

Полное решение можно найти в блоге моего новейшего герояNetBeans 7.0 для PHP ожидает подключения к XDebug

Изменить: Знаешь, что я только что обнаружил? Я удалил index.php как файл индекса моей конфигурации запуска. Работает как шарм без необходимости вручную вставлять раздел xdebug в URL.

1

стить приложение PHP с открытым исходным кодом на моей машине (Windows). После борьбы в течение 5-6 дней я перечислю шаги, которые работали для меня.

Я удалил все предыдущие установки XAMPP и NetBeans и приступил к новым установкам.

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

установить XAMPP

установить NetBeans для PHP.

Откройте IIS и остановите его. По умолчанию он работает на порту 80. (Я запускаю XAMPP на порту 80, то есть по умолчанию, для работы на другом порту могут потребоваться дополнительные параметры конфигурации)

Откройте панель управления XAMPP и запустите Apache. Если порт 80 свободен, никаких проблем возникнуть не должно.

Откройте localhost в браузере, должна отобразиться домашняя страница XAMPP.

Откройте ссылку phpinfo () на левой панели и скопируйте все содержимое на странице. Идти к:http://xdebug.org/wizard.php и вставьте все содержимое в TextBox и нажмите Анализ моего вывода phpinfo. Он отобразит вам файл Xdebug, подходящий для вашей конфигурации.

Загрузите данную DLL-библиотеку Xdebug и скопируйте ее в C: \ xampp \ php \ ext (Xampp является каталогом установки Xampp по умолчанию)

Перейдите на панель управления XAMPP, нажмите кнопку Config перед Apache и выберите php.in,

Найти строку похожую или точно как,

; zend_extension = & quot; C: \ xampp \ php \ ext \ php_xdebug.dll & quot;

(Точка с запятой означает, что это закомментировано)

Удалите точку с запятой и замените путь на путь dll, который вы только что скопировали:

zend_extension = & quot; C: \ xampp \ php \ ext \ php_xdebug-2.3.2-5.4-vc9.dll & quot;

Аналогично найдите строки ; xdebug.remote_enable = 0; xdebug.remote_handler = & quot; dbgp & quot;

удалите точку с запятой перед обеими строками и сделайте remote_enable = 1

xdebug.remote_enable = 1 xdebug.remote_handler = & quot; dbgp & quot;

Перезапустите сервер Apache.

Скопируйте код своего сайта в C: / XAMPP / htdocs / (your_website) /, что означает, что ваш index.php должен быть в C: / XAMPP / htdocs / (your_website) /index.php

Откройте NetBeans, выберите Новый проект - & gt; PHP - & gt; Проект PHP из существующего источника и выберите папку, которую вы только что скопировали в папку htdocs. Установите его для запуска на локальном веб-сервере.

Установите точку останова в первой строке index.php и отладки.

Вот и все.

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

Похожие вопросы