Não é possível conectar-se ao xdebug através da rede virtual - Vagrant Virtualbox

2

Estou tentando configurar uma caixa de desenvolvimento usando o Virtualbox / Vagrant / Puppet com a intenção de finalmente provisionar todas as minhas máquinas até a produção. No entanto, isso está me impedindo de avançar no momento. Eu instalei o ubuntu lúcido sobre o windows 7.

Ao tentar conectar-se ao xdebug iniciando uma sessão de depuração no eclipse, ele é interrompido em 57% (comum no eclipse quando não consegue se comunicar com o xdebug). Aqui está o meu xdebug.ini e as configurações aqui estão aparecendo em phpinfo ().

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

Agora estou me perguntando se é um problema com o encaminhamento de porta? Se o eclipse estiver procurando na porta 9000, ele encontrará a porta 9000 em uma máquina virtual?

Qualquer ajuda seria muito apreciada!

    
por smix96 02.10.2012 / 15:28

2 respostas

3

Eu descobri que isso é um problema de muitas interfaces de rede. Quando eu configuro o xdebug.remote_host para o endereço IP, minha máquina local (a que executa o virtualbox) usa para acessar a internet, a depuração funciona muito bem. Isso não significa o IP externo, mas o que minha máquina tem na LAN local (da qual a internet é acessada) Definir o endereço IP para o que está sendo emparelhado com o adaptador somente host (por exemplo, 192.168.56.1) não funciona. No entanto: eu tenho a coisa toda em execução ao mesmo tempo com o adaptador somente host. embora eu possa - pela vida de mim - não descobrir o que foi que fez o truque. A única diferença era que todas as outras conexões na máquina estavam desativadas. Mas eu não consigo reproduzir o estado que eu tinha ..

Editar: Ok, eu descobri qual era o problema: O problema é um problema do Windows (o que mais?). O Windows parece manipular os adaptadores de rede como adaptadores reais e, portanto, sugere-os em problemas de firewall. Você precisa informar ao Windows, que todos os dispositivos "VirtualBox Host-Only Ethernet Adapter" não são dispositivos reais.

Para fazer isso, você precisa fazer algumas pequenas alterações no registro: Abra o regedit e navegue para

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

Nesta chave você encontrará todos os tipos de adaptadores que seu sistema usa. Encontre as chaves que têm uma propriedade 'DriverDesc' com o valor 'VirtualBox Host-Only Ethernet Adapter' e adicione uma nova propriedade DWord chamada '* NdisDeviceType' com o valor 1. reinicie sua máquina e foi isso.

Por favor, note que a partir desse ponto todos os seus Adaptadores Ethernet somente para Host VirtualBox não aparecerão mais na Central de Redes e Compartilhamento!

Uma vez que isto é feito, o XDebug irá trabalhar com o parâmetro xdebug.remote_connect_back = 1, o que ele não fez antes!

    
por 20.03.2014 / 15:04
2

Tente usar xdebug.remote_connect_back em vez de remote_host , assumindo que sua máquina errante não é acessível ao mundo exterior.

xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.remote_port=9000    
    
por 02.10.2012 / 17:00