У меня установлена среда разработки PhpStorm с Xdebug, контейнер докера, который настроен с включенным Xdebug и примененным модулем браузера. Однако, когда я пытаюсь «поднять трубку» и обновить код, содержащийся в среде, ничего не получается.
Я пробовал различные порты и имена серверов, а также учебные пособия, которые ямогу найти. Я не уверен, является ли это безопасностью или неправильной настройкой моего докера, но я относительно уверен, что настройка PhpStorm правильная.
Я пытался выставить порты в Dockerfile (9000 & 9001)
Мой .php-файл - это просто echo и некоторая математика с применением точек останова:
echo("TEST 1<br>");
$test = 2;
echo("TEST " . $test . "<br>");
$testArray = xdebug_get_code_coverage();
var_dump($testArray);
phpinfo();
dd("TEST 3");
В моем файле .env определено следующее:
PHP_IDE_CONFIG=serverName=jumbledowns-demo
XDEBUG_CONFIG=remote_host=localhost remote_port=9001
И мой Dockerfile настроенТаким образом, Xdebug:
RUN pecl install xdebug; \
docker-php-ext-enable xdebug; \
echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \
echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini;
PHPinfo на стороне браузера показывает ожидаемый код и следующие настройки для Xdebug:
xdebug.remote_host localhost localhost
xdebug.remote_log no value no value
xdebug.remote_mode req req
xdebug.remote_port 9001 9000
Я пытался использовать URL-адреса и назначенные IP-адреса ввыше и может изменить их при необходимости.
В идеале я хотел бы иметь возможность иметь журнал командной строки или выходные данные, которые показывают, что Xdebug пытается вызвать и на какой порт.