Я использую Nging + php -fpm в Docker на ОС Ma c. Я пытаюсь отладить мое приложение, но PHPStorm не останавливается на точках останова.
Вот мой docker -compose.yml
version: '3'
services:
app_php:
build:
context: ./docker/php
dockerfile: Dockerfile
args:
USER_ID: 1000
GROUP_ID: 1000
restart: always
environment:
XDEBUG_CONFIG: remote_host=192.168.0.92
PHP_IDE_CONFIG: serverName=localhost
volumes:
- ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf
- ./web:/var/www/html
depends_on:
- db
- redis
web_nginx:
image: nginx:1.17.9-alpine
restart: always
ports:
- 8090:80
volumes:
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
- ./web:/var/www/html
depends_on:
- app_php
Вот Dockerfile
FROM php:7.4-fpm-alpine3.11
# Use the default production configuration
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
RUN apk add --no-cache \
shadow \
freetype \
freetype-dev \
ghostscript \
ghostscript-fonts \
gmp-dev \
graphicsmagick \
libjpeg-turbo \
libjpeg-turbo-dev \
libpng \
libpng-dev \
libwmf \
libxml2-dev \
libzip \
libzip-dev \
icu \
icu-dev \
git \
vim
# most likely used for local dev only
ARG USER_ID=1000
ARG GROUP_ID=1000
RUN usermod -u ${USER_ID} www-data \
&& groupmod -g ${GROUP_ID} www-data
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-configure zip
RUN pecl install redis \
&& docker-php-ext-enable redis
RUN docker-php-ext-install -j$(nproc) gd mysqli soap zip intl
ENV PHP_CONFIG_DIR /usr/local/etc/php
RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& apk del -f .build-deps \
&& echo "zend_extension=$(find $(php-config --extension-dir) -name xdebug.so)" > $PHP_CONFIG_DIR/conf.d/xdebug.ini \
&& echo 'xdebug.remote_enable=1' >> $PHP_CONFIG_DIR/conf.d/xdebug.ini \
&& echo 'xdebug.remote_port=10000' >> $PHP_CONFIG_DIR/conf.d/xdebug.ini \
&& echo 'xdebug.remote_connect_back=1' >> $PHP_CONFIG_DIR/conf.d/xdebug.ini \
&& echo 'xdebug.remote_autostart=0' >> $PHP_CONFIG_DIR/conf.d/xdebug.ini \
&& echo 'xdebug.idekey="PHPSTORM"' >> $PHP_CONFIG_DIR/conf.d/xdebug.ini \
&& echo 'xdebug.max_nesting_level=1000' >> $PHP_CONFIG_DIR/conf.d/xdebug.ini
WORKDIR /var/www/html
А вот мои конфиги в PHPStorm:
Я пытался изменить XDEBUG_CONFIG: remote_host=192.168.0.92
на XDEBUG_CONFIG: remote_host=host.docker.internal
но это не помогает. Также я могу достигнуть 192.168.0.92:8090 по curl изнутри docker контейнера успешно.
У кого-нибудь есть идеи, как решить эту проблему?