Назад | Перейти на главную страницу

Не удается подключиться к xdebug через виртуальную сеть - Vagrant Virtualbox

Я пытаюсь настроить окно разработки с помощью Virtualbox / Vagrant / Puppet с намерением в конечном итоге подготовить все мои машины к производству. Однако на данный момент это мешает мне двигаться вперед. Я установил ubuntu lucid поверх Windows 7.

При попытке подключиться к xdebug, запустив сеанс отладки в eclipse, он зависает на уровне 57% (обычно в eclipse, когда он не может связаться с xdebug). Вот мой xdebug.ini, и настройки здесь появляются в phpinfo ().

xdebug.remote_enable=On
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.56.1
xdebug.remote_port=9000

Мне теперь интересно, проблема ли в переадресации портов? Если eclipse ищет порт 9000, найдет ли он порт 9000 на виртуальной машине?

Любая помощь будет принята с благодарностью!

Я обнаружил, что это проблема многих сетевых интерфейсов. Когда я настраиваю xdebug.remote_host на IP-адрес, который мой локальный компьютер (тот, на котором запущен виртуальный бокс) использует для доступа в Интернет, отладка работает нормально. Это не означает внешний IP-адрес, но тот, который есть у моей машины в локальной сети (из которой осуществляется доступ к Интернету). Установка IP-адреса на тот, который связан с адаптером только для хоста (например, 192.168.56.1), не работает . Однако: у меня все это работало одновременно с адаптером только для хоста. хотя я могу - хоть убей - не понять, что именно помогло. только другое было, все остальные соединения на машине были отключены. Но я не могу воспроизвести то состояние, которое было у меня ..

Изменить: Хорошо, я выяснил, в чем проблема: проблема в Windows (что еще?). Windows, похоже, обрабатывает сетевые адаптеры как настоящие адаптеры и, следовательно, включает их в проблемы с брандмауэром. Вам необходимо сообщить Windows, что все устройства «VirtualBox Host-Only Ethernet Adapter» не являются настоящими устройствами.

Для этого вам необходимо внести небольшие изменения в реестр: откройте regedit и перейдите к

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}

В этом ключе вы найдете все типы адаптеров, которые использует ваша система. Найдите те ключи, у которых есть свойство «DriverDesc» со значением «VirtualBox Host-Only Ethernet Adapter», и добавьте новое свойство DWord с именем «* NdisDeviceType» со значением 1. перезагрузите компьютер, и все.

Обратите внимание, что с этого момента все ваши Ethernet-адаптеры VirtualBox Host-Only больше не будут отображаться в Центре управления сетями и общим доступом!

Как только это будет сделано, XDebug будет работать даже с параметром xdebug.remote_connect_back = 1, чего раньше не было!

Попробуйте использовать xdebug.remote_connect_back вместо того удаленный узел, если ваша бродячая машина недоступна для внешнего мира.

xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.remote_port=9000