J'ai une boîte vagabonde avec xdebug installée, fonctionnant sur OSX, mais j'ai du mal à obtenir le plugin Atom xdebug (php-debug
) pour s'y connecter.Vagrant + Xdebug + Atom
J'ai collé les données phpinfo();
dans le site de validation xdebug et tout a été bon. Et vous pouvez voir tous les paramètres de xdebug.
J'ai mappé le port 9000 dans le fichier vagabond.
config.vm.network :forwarded_port, guest: 9000, host: 9000
La boîte de errante a accueillir seul réseau qui expose 192.168.10.100
comme l'adresse IP du serveur.
Et j'ai essayé toutes sortes de différentes options de Xdebug, celles sur le site plugin ATOM suggère ..
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
Mais c'est un peu déroutant que remote_connect_back=1
signifie xdebug ignorera le réglage remote_host
- si Je ne sais pas pourquoi les deux sont là - ni travailler.
J'ai remis en marche apache/php après chaque fois que je change les options et vérifiez qu'ils sont chargés avec phpinfo();
Si je vérifie qui est à l'écoute sur le port 9000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Atom\x20H 10656 Matt 28u IPv6 0x321cb0a96ba5b593 0t0 TCP *:cslistener (LISTEN)
VBoxHeadl 10889 Matt 19u IPv4 0x321cb0a981a71433 0t0 TCP *:cslistener (LISTEN)
Vous pouvez voir à la fois vagabond (boîte virtuelle) et Atom. Bien que Atom est IPv6 qui est impair ....
Mais en activant le débogueur dans ATOM, en définissant un point d'arrêt et en frappant le site, rien ne se produit - ATOM ne se connecte jamais.
Des idées? Quelqu'un at-il eu ce travail?
D'où avez-vous reçu ces instructions? Un manuel spécifique? Il semble y avoir un malentendu dans la façon dont xdebug fonctionne en général. 1) * "Mais c'est un peu déroutant car remote_connect_back = 1 signifie que xdebug va ignorer le paramètre remote_host" * Vous avez raison - cette option n'est pas nécessaire ici - il vaut mieux mettre '0' – LazyOne
2)' xdebug. remote_host = 127.0.0.1' - c'est faux (à moins que vous n'effectuiez le débogage via le tunnel SSH). Il doit s'agir d'une adresse IP où le client de débogage (Atom dans votre cas) est en cours d'exécution. C'est xdebug qui se connecte au client et PAS autrement: https://xdebug.org/docs/remote 3) Cela signifie aussi que l'adresse IP doit être vue depuis cette machine vagabonde. Le moyen le plus facile de l'obtenir - regardez '$ _SERVER ['REMOTE_ADDR']' – LazyOne
4) Cela signifie également que vous n'avez pas besoin d'exposer 9000 port dans Vagrant - personne ne se connectera à lui (comme vous le faites avec le port 80 pour le serveur web) - c'est xdebug de VM/guest OS se connecte à l'extérieur de votre système d'exploitation "réel"/hôte. Si quelque chose - il devrait permettre les connexions sortantes sur ce port au lieu d'entrants. 5) * "Si je vérifie qui écoute sur le port 9000" * celui-ci signifie que Atom est incapable de recevoir la connexion xdebug entrante sur TCPv4 .. que xdebug essaiera d'utiliser par défaut – LazyOne