Docker Compose + Nginx + PHP с прослушиванием Xdebug не работаетPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Docker Compose + Nginx + PHP с прослушиванием Xdebug не работает

Сообщение Гость »


Я пытаюсь отладить проект Laravel в ОС Linux Ubuntu, поэтому я настроил Xdebug, но его точки останова не слушают входящие запросы.
[*]Я работаю в среде Docker, используя Docker Compose. [*]Версия Xdebug — v3.2.2 [*]Я использую IDE — VSCode.
Когда я запускаю phpinfo();, Xdebug включается правильно, но он не работает, когда я прослушиваю его из VSCode IDE.

Вот мой файл компоновки Docker

версия: '3.8' услуги: приложение: имя_контейнера: приложение строить: контекст: . файл докеров: .docker/php/Dockerfile объемы: - .:/var/www/html - .docker/php/conf.d/local.ini:/usr/local/etc/php/conf.d/local.ini - .docker/php/conf.d/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini - .docker/php/conf.d/error_reporting.ini:/usr/local/etc/php/conf.d/error_reporting.ini дополнительные_хосты: - "host.docker.internal:host-gateway" mem_limit: 1024 м mem_reservation: 512M зависит от: - MySQL сети: - сеть приложений сервер: изображение: nginx:alpine имя_контейнера: сервер перезапуск: если не остановлен телетайп: правда порты: - «8000:80» DNS: - 8.8.8.8 - 4.4.4.4 объемы: - .:/var/www/html - .docker/nginx/conf.d/:/etc/nginx/conf.d/ сети: - сеть приложений Содержимое Dockerfile приложения (php):

ИЗ php:8.1.18-fpm РАБОЧИЙ ПАРАМЕТР /var/www/html КОПИРОВАТЬ --chown=www-data:www-data . /вар/www/html ВЫПОЛНИТЬ apt-get update -y && apt-get install -y curl zip распаковать sendmail libpng-dev \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ libonig-dev \ по умолчанию-mysql-клиент \ сетевые инструменты \ inetutils-пинг \ netcat \ && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \ && docker-php-ext-install gd ЗАПУСК apt-get install -y git ВЫПОЛНИТЕ apt-get install -y zip libzip-dev \ && docker-php-ext-configure zip \ && docker-php-ext-install zip \ && docker-php-ext-install exif && docker-php-ext-enable exif ЗАПУСТИТЕ docker-php-ext-install mysqli pdo pdo_mysql ЗАПУСК docker-php-ext-enable mysqli pdo pdo_mysql ЗАПУСК docker-php-ext-install pcntl ВЫПОЛНИТЕ pecl install -o -f xdebug \ && docker-php-ext-enable xdebug # Установить Композитор КОПИЯ --from=composer:latest /usr/bin/composer /usr/local/bin/composer Что касается конфигурации nginx

сервер { слушать 0.0.0.0:80; индекс index.php index.html; корень /var/www/html/public; местоположение ~ \.php$ { try_files $uri = 404; fastcgi_split_path_info ^(.+\.php)(/.+)$; приложение fastcgi_pass: 9000; fastcgi_index index.php; включить fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } расположение / { try_files $uri $uri//index.php?$query_string; # Включить предварительные запросы CORS если ($request_method = ОПЦИИ) { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' '*'; add_header 'Access-Control-Allow-Headers' '*'; вернуть 204; } proxy_set_header Хост $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; gzip_static включен; } error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; } А вот содержимое конфигурации xdebug.ini:

zend_extension=xdebug [xdebug] xdebug.mode = отладка,разработка xdebug.client_host=host.docker.internal xdebug.client_port=9003 xdebug.start_with_request=да xdebug.discover_client_host=1 xdebug.extended_info=1 xdebug.log=/tmp/xdebug.log xdebug.idekey=VSCODE; также может быть phpstorm ;; ------------------------------------ ;; Цвет var_dumps в CLI xdebug.cli_color=1 Это содержимое файла launch.json для Xdebug в моем VSCode:

{ // Используйте IntelliSense, чтобы узнать о возможных атрибутах. // Наведите курсор, чтобы просмотреть описания существующих атрибутов. // Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387. "версия": "0.2.0", "конфигурации": [ { "name": "Слушать Xdebug", "тип": "php", "запрос": "запуск", «порт»: 9003, "pathMappings": { "/var/www/html": "${workspaceFolder}" } } ] } Это пример моего phpinfo():


Изображение



Изображение

Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Каковы различия между ExchangeStrategies и прослушиванием телефонных разговоров для ведения журнала веб-клиента?
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Php7.4 Xdebug xdebug.mode = у меня отладка не работает
    Anonymous » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Xdebug: [step debug] Тайм-аут, подключенный к отладке клиента, ждал: 200 мс. Пробовал: Localhost: 9003 (через xdebug.cli
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Nginx + php в Docker Compose генерирует ошибку 404
    Anonymous » » в форуме Php
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Docker-Compose с PHP и Nginx не работает в рабочей среде
    Anonymous » » в форуме Php
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»