У меня есть бродячий бокс с установленной xdebug, работающий на OSX, но я пытаюсь получить плагин Atom xdebug (php-debug
), чтобы подключиться к нему.Vagrant + Xdebug + Atom
Я вставил данные phpinfo();
на сайт проверки xdebug и сказал, что все было хорошо. И вы можете увидеть все настройки xdebug.
Я отобразил порт 9000 в бродячем файле.
config.vm.network :forwarded_port, guest: 9000, host: 9000
Бродяга коробка имеет принимающей только сеть, которая выставляет 192.168.10.100
как IP сервера.
И я пробовал всякие разные варианты XDebug, упавшее на сайте ATOM плагин предложить ..
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
Но это немного сбивает с толку, как remote_connect_back=1
означает, что Xdebug будет игнорировать установку remote_host
- так не знаете, почему оба находятся там, - не работают.
Я перезапуск Apache/PHP после того, как каждый раз, когда я изменить параметры, и проверьте, что они загружены phpinfo();
Если я проверить, кто прослушивает порт 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)
Вы можете увидеть, как бродяга (виртуальная коробка) и Atom. Хотя Atom является IPv6, который является нечетным ....
Но включение отладчика в ATOM, установка точки останова и попадание на сайт, ничего не происходит - ATOM никогда не подключается.
Любые идеи? Кто-нибудь получил это на работу?
Откуда у вас были эти инструкции? Любое конкретное руководство? Кажется, что недоразумение в том, как xdebug работает вообще. 1) * «Но это немного сбивает с толку, поскольку remote_connect_back = 1 означает, что xdebug будет игнорировать настройку remote_host» * Вы правы - этот параметр здесь не нужен - лучше установить '0' – LazyOne
2)' xdebug. remote_host = 127.0.0.1' - это неправильно (если вы не будете выполнять отладки через туннель SSH). Это должен быть IP-адрес, в котором работает отладочный клиент (Atom в вашем случае). Это xdebug, который подключается к клиенту, а НЕ наоборот: https://xdebug.org/docs/remote 3) Это также означает, что IP-адрес должен быть как видно из этой машины-бродяги. Самый простой способ получить это - посмотрите на '$ _SERVER ['REMOTE_ADDR']' – LazyOne
4) Это также означает, что вам не нужно выставлять 9000 портов в Vagrant - никто не будет подключаться к нему (например, вы используете порт 80 для веб-сервера) - это xdebug из VM/гостевой ОС будет подключаться снаружи к вашей «реальной»/основной ОС. Если что угодно - он должен разрешать исходящие соединения на этом порту вместо входящих. 5) * «Если я проверяю, кто прослушивает порт 9000», это означает, что Atom не может получить входящее соединение xdebug через TCPv4 .., который xdebug будет пытаться использовать по умолчанию – LazyOne