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

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

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

My xdebug.ini config выглядит следующим образом:

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

Это мои настройки отладки PHPstorm: enter image description here

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

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

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

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

Edit Добавлен xdebug log: pastebin

Ответ 1

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

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

Ответ 2

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

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

Используете ли вы удаленный отладчик PHP? введите описание изображения здесь

Если это настройка сервера из снимка экрана, измените порт на 9020 или все, что вы хотите использовать.


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

Установите Разрыв первой строки в настройках PHPStorm

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

Включить функцию break при первой строке

Все еще не работает?

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

phpinfo()

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

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

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

Нет? ok →

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

Ответ 3

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

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

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

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

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