XDEBUG не работает должным образом, но установлен и в журнале написано "Connect to client :-)" - PullRequest
0 голосов
/ 08 февраля 2019

xDebug установлен, логи включены, проверка в порядке, логи говорят мне, что xdebug может подключаться к клиенту;однако - без подключения к IDE

  • установленный xDebug с PHP7 в Docker
  • добавил соответствующие ini-файлы в среду
  • установить точку останова
  • проверитьxDebug в CLI и FPM

20-xdebug.ini:

xdebug.idekey=PHPSTORM
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_host=172.55.0.20
xdebug.remote_port=9000
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=0
xdebug.profiler_enable_trigger_value=PHPSTORM
xdebug.profiler_output_dir=/var/www/html/htdocs/var
xdebug.trace_enable_trigger=1
xdebug.trace_enable_trigger_value=PHPSTORM
xdebug.trace_output_dir=/var/www/html/htdocs/var
xdebug.remote_log=/var/www/html/htdocs/var/log/xdebug.log
zend_extension=/usr/lib/php/20151012/xdebug.so

Я установил Docker с модулем PHP7 FPM и xDebug.Я установил его с pecl install xdebug.

xdebug загружается в FPM и CLI, я правильно разместил соответствующий файл в папках fpm и cli.Я могу убедиться, что он загружается.

Я включил журнал, и внутри него есть блоки:

Log opened at 2019-02-08 08:12:24
I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Remote address found, connecting to 127.0.0.1:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/htdocs/index.php" language="PHP" xdebug:language_version="7.0.24-1+ubuntu16.04.1+deb.sury.org+1" protocol_version="1.0" appid="16" idekey="PHPSTORM"><engine version="2.6.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2018 by Derick Rethans]]></copyright></init>

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

Log closed at 2019-02-08 08:12:24

Итак, протоколируйте мне, что существует успешное соединение.

В PHPStorm я настроил DBGp: IDE Ключ: PHPSTORM Хост: 172.55.0.1 Порт: 9000

Что я делаю не так?

1 Ответ

0 голосов
/ 08 февраля 2019

В этой строке показана проблема

I: Remote address found, connecting to 127.0.0.1:9000.

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

Этот параметр игнорируется, если включен xdebug.remote_connect_back.

https://xdebug.org/docs/all_settings#remote_host

Выследует отключить remote_connect_back и указать удаленный хост явно:

xdebug.remote_connect_back=0
xdebug.remote_host=host.docker.internal
...