Phpstorm, xdebug и vagrant все еще ждут входящего соединения

Это меня раздражает, в основном потому, что все работало нормально, затем внезапные точки останова перестали работать, и когда я проверял отладчик, он просто ожидал входящего соединения.

Моя бродячая машина работает на private_ip: 192.168.13.37

мой xdebug.ini Конфиг выглядит следующим образом:

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.remote_port = 9020

Это мои настройки отладки PHPstorm:
введите описание изображения здесь

У меня есть бродячий сервер настройки в PHPstorm, который имеет множество dev.website.com который указывает на правильный IP-адрес в файле хоста Windows, порт 80, и папки отображаются правильно.

У меня также есть приложение PHP, настроенное на использование объясненного сервера, с которого начинается URL / ,

Я нажал кнопку начала прослушивания отладочных подключений PHP, а затем щелкнул маленькую зеленую иконку ошибки, чтобы начать отладку. Это запускает проект со следующей строкой запроса ?XDEBUG_SESSION_START = 18359 но когда я смотрю в PHPstorm в окне отладки, он скажет waiting for incoming connection with ide key 18359

Любые идеи, как заставить это работать снова?

редактировать
Добавлен журнал xdebug: Pastebin

11

Решение

Была идентичная проблема, что помогло мне установить:

xdebug.remote_autostart = 1

мои другие настройки:

zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_port=9010
xdebug.idekey=phpstorm
xdebug.remote_autostart = 1
xdebug.remote_handler=dbgp
xdebug.remote_host=10.0.2.2
4

Другие решения

Вы говорите, что у вас есть настройки сервера, указывающие на порт 80? Это может быть проблемой.

У меня есть vagrant server setup в PHPstorm, который имеет хост dev.website.com, который указывает на правильный IP-адрес в файле хоста Windows, порт 80, и папки отображаются правильно.

Вы используете PHP Remote Debug?
введите описание изображения здесь

Если это настройка сервера из скриншота, измените порт там на 9020 или любой другой, который вы хотите использовать.


Мои первые шаги по проверке того, почему xDebug не работает:

Задавать Перерыв на первой линии в настройках PHPStorm

Настройки-> языки&frameworks-> PHP-> отладки (поиск перерыв сначала)

Включить перерыв на первой линии особенность

До сих пор не работает?

Что говорит твой phpinfo?
XDebug включен и все настройки совпадают?

phpinfo()

Если не попробовать это https://xdebug.org/wizard.php и проверить это Руководство

Если так, попробуйте

Может быть, брандмауэр блокирует ваш порт?

Нет?
хорошо ->

vagrant ssh
netstat -an | grep 9000

Проверьте, прослушивает ли порт и не заблокирован ли он ничем.

Я бы порекомендовал использовать порт 9000, были проблемы с другими.

У меня недавно была проблема с hhvm блокировка порта.
Я удалил это из системы.

Если все выглядит хорошо, попробуйте использовать функцию удаленной отладки phpstorms и явно отобразите ваш index.php файл вашего проекта / с.


Также, возможно, постарайтесь не использовать числовые значения в качестве вашего idekey

XDEBUG_SESSION_START = 18359

Большинство людей используют что-то вроде этого:

XDEBUG_SESSION_START = PhpStorm

Вы можете добавить idekey в свой xdebug.so
будет выглядеть так

xdebug.idekey=PHPSTORM

Небольшой список с параметрами xdebug: https://xdebug.org/docs/basic

Мои текущие проекты phpstorm config выглядят так:
введите описание изображения здесь


Это плагин для установки cookie сеанса в браузере
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

2

У меня была проблема, очень похожая с двумя хостами на удаленном сервере.

Один назывался dev.host.com, другой 123.host.com (который соответствовал временному номеру версии).

Моя проблема заключалась в том, что dev.host.com прекрасно работал с xdebug в phpstorm, в то время как другой хост всегда ожидал входящего соединения.

Я потратил несколько часов, чтобы понять почему, но ничего не нашел, изменив параметры xdebug, настройки phpstorm, разрешения для папок, … пока я не переименовал свой 123.host.com с помощью некоторых алфавитных символов, таких как ‘abc.host.com’ и ….. это начало работать!

Поэтому я бы посоветовал вам быть осторожным с именем, которое вы выбрали для своего хоста, я думаю, что оно было отображено неправильно … Странно, но решено на моей стороне.

0
По вопросам рекламы [email protected]