Отладка с помощью xdebug, netbeans и подключенного удаленного сервера - PullRequest
1 голос
/ 20 января 2010

Я использую Netbeans для разработки на компьютере с Windows, файлы, которые я редактирую, находятся на удаленном сервере LAMP. Корень документа монтируется на моем компьютере с Windows как буква диска (Y :). Итак, netbeans - вещи, которые я разрабатываю локально, тогда как на самом деле я разрабатываю удаленно на локальном монтировании.

Моя проблема начинается, когда я хочу использовать xdebug и netbeans для отладки PHP-скриптов CLI. Отладка в браузере довольно проста, но отладка в CLI немного сложнее, и я не уверен, что знаю, как заставить ее работать.

Первая проблема заключается в том, что Netbeans хочет знать, где находится интерпретатор php5, но я не могу сказать, как он находится на удаленном сервере ...

У кого-нибудь есть опыт в этом деле?

Спасибо

Mike

Ответы [ 5 ]

2 голосов
/ 04 августа 2010

Пада означает: xdebug.remote_connect_back, а не xdebug.remote_enable. Вы должны установить их оба для автоматического подключения Xdebug к Netbeans (или какому-либо отладчику).

2 голосов
/ 09 марта 2010

Ключевой прорыв в отладке PHP для Netbeans пришел ко мне, когда я добавил сопоставление пути в свой проект (во вкладке «Проект» | Щелкните правой кнопкой мыши «Проект» | «Свойства» | «Выполнить конфигурацию», «Дополнительно»), чтобы мой проект знал, как соотнести исходный код сервера. кодовые пути к локальным путям (пути букв дисков Windows).

Пример карты путей:

/ home / myusername / sourcedir сопоставлено с x: \ sourcedir

Я полагаю, что я работаю с конфигурацией, аналогичной вашей (сервер LAMP, Windows-машина с источником от LAMP-компьютера, который отображается локально под подключенным диском Windows). Это сработало для меня.

Я пробовал URL-адреса для моего проекта (http://server/projectroot) в качестве сопоставления пути. Это было не то, что было нужно. Требовался фактический путь на сервере (т.е. мой домашний каталог и ниже).

1 голос
/ 17 мая 2010

Переменная xdebug.remote_host указывает на хост, к которому должен подключиться xdebug. Вы можете отлаживать PHP на удаленном сервере с помощью NetBeans, но для этого потребуется настроить xdebug на удаленном сервере таким образом, чтобы он подключался к вашему ПК для разработки.

Вот простой пример: Ваш ПК для разработки с NetBeans находится на 10.0.0.100, и ваш удаленный веб-сервер PHP работает на 10.0.0.1 Установите xdebug.remote_host = 10.0.0.100 Теперь, когда кто-либо (или вы) указывает параметр XDEBUG_SESSION_START в URL-адресе на удаленном сервере, xdebug будет пытаться подключиться к 10.0.0.100.

Xdebug v2.1 имеет приятную особенность: xdebug.remote_enable = 1 Включение этой опции переопределит xdebug.remote_host, а затем xdebug подключится к $ _SERVER ['REMOTE_ADDR'] (это IP-адрес, с которого клиент подключается). Эта потрясающая функция позволит вам выполнять несколько отладок на одном сервере, поскольку вы не можете манипулировать xdebug.remote_host с помощью ini_set ()

0 голосов
/ 08 июня 2012

xdebug.remote_autostart=1 для автоматического удаленного подключения. в "Xdebug v2.1 имеет приятную особенность:".

0 голосов
/ 20 января 2010

Я не знаю о Netbeans, никогда не использовал его, но в Eclipse PDT, где вы также можете отлаживать с помощью XDebug, существует различие между «PHP web page» и «PHP script». Для «веб-страницы PHP» вы выбираете веб-сервер (который вы настроили ранее), а не интерпретатор php (как вы должны делать с «сценарием PHP»).

Возможно, то же самое можно сказать о Netbeans?

...