Xdebug не останавливается на точках останова Ma c OS + Docker - PullRequest
0 голосов
/ 11 апреля 2020

Я использую 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: enter image description here

enter image description here

Я пытался изменить XDEBUG_CONFIG: remote_host=192.168.0.92 на XDEBUG_CONFIG: remote_host=host.docker.internal но это не помогает. Также я могу достигнуть 192.168.0.92:8090 по curl изнутри docker контейнера успешно.

У кого-нибудь есть идеи, как решить эту проблему?

...