PhpStorm получает входящие соединения xdebug, но ничего с ними не делает

Я использую PhpStorm на одной машине и php-fpm на другой. У меня есть ssh-туннель между ними.

У меня есть доказательства следующих утверждений:

  1. Туннель ssh настроен правильно и работает (использую nc и nc -l для проверки).

  2. xdebug настроен правильно и работает (я использую nc -l для получения соединений, а также могу успешно использовать другую IDE (vscode))

  3. phpstorm принимает входящие соединения

Страница моего сайта постоянно обновляется, и в консоли туннеля я вижу постоянные сообщения

connect_to localhost port 9001: failed

Что доказывает, что xdebug пытается подключиться к IDE при каждом обновлении, но безуспешно.

Затем я нажимаю

введите здесь описание изображения

Start listening for PHP Debug Connections и эти сообщения исчезнут.

Это означает, что ssh теперь может подключиться к IDE.

Но проблема в том, что больше ничего не происходит. Никаких триггеров точек останова, никаких диалоговых окон с отображением, ничего.

Что еще можно проверить, чтобы исправить это?


Версия Php: 5.6.33-0+deb8u1 Версия Xdebug: 2.2.5 Версия Phpstorm: 2020.3


В журнале xdebug появляется следующее:

Log opened at 2020-12-22 12:14:17
I: Connecting to configured address/port: 127.0.0.1:9001.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///settings/html/load_menu.php" language="PHP" protocol_version="1.0" appid="13307" idekey="1"><engine version="2.2.5"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2014 by Derick Rethans]]></copyright></init>


<!**************** MY REMARK ********************!>


-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

Log closed at 2020-12-22 12:14:17

Обратите внимание на my remark место. Если я получаю соединения с nc -l 9001, он ждет в этом месте, пока я не разорву соединение с Ctrl-C.

Если я получаю соединение с PhpStorm или не получаю его, оно сразу проходит это место.

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


Если я получаю соединения с vscode, появляется много сообщений типа

<- breakpoint_list -i 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_list" transaction_id="1"></response>

появляется на my remark месте


person Dims    schedule 22.12.2020    source источник
comment
Что доказывает, что php-fpm пытается подключиться к IDE при каждом обновлении, но безуспешно. php-fpm НЕ пытается нигде подключиться. Во всяком случае: это Xdebug пытается подключиться.   -  person LazyOne    schedule 22.12.2020
comment
1) Включите журнал Xdebug, попробуйте снова выполнить отладку и поделитесь журналом — он расскажет, что это за ответ. 2) Какая у вас версия PhpStorm? 3) Какая у вас версия PHP и, самое главное, версия Xdebug?   -  person LazyOne    schedule 22.12.2020
comment
@LazyOne Я пока не могу включить ведение журнала xdebug, это отдельная проблема   -  person Dims    schedule 22.12.2020
comment
ХОРОШО. А №2 и №3?   -  person LazyOne    schedule 22.12.2020
comment
Для журналов отладки PHP со стороны PhpStorm (после того, как вы получите ответ на предыдущий комментарий, пока не требуется): jetbrains.com/help/phpstorm/   -  person LazyOne    schedule 22.12.2020
comment
@LazyOne Я исправил журналы, это была проблема с разрешениями. Логи я выложил выше. И версия Php: 5.6.33-0+deb8u1 Версия Xdebug: 2.2.5 Версия Phpstorm: 2020.3   -  person Dims    schedule 22.12.2020
comment
Спасибо. См. stackoverflow.com/a/65322943/783119. По сути, для PhpStorm — либо используйте предыдущую версию 2020.2.4, либо Предварительная сборка 2020.3.1 для такой старой версии Xdebug (в 2020.3 есть ошибка). Попробуйте это и обновите, если отладка все еще не работает для вас (новый журнал Xdebug, что показывает IDE и т. д.)   -  person LazyOne    schedule 22.12.2020
comment
Предварительная сборка @LazyOne сразу заработала, спасибо!   -  person Dims    schedule 22.12.2020
comment
Пожалуйста, рассмотрите возможность ответа с вашим окончательным решением. Это поможет другим пользователям в аналогичной ситуации, а наличие принятого ответа (который вы можете принять позже) сделает этот вопрос и решение более заметными.   -  person LazyOne    schedule 22.12.2020


Ответы (1)


Ошибок в настройке не обнаружено. Оказывается, это была ошибка в PhpStorm 2020.3 и переход на Предварительная сборка помогла мгновенно. Спасибо @LazyOne :)

person Dims    schedule 22.12.2020