diff --git a/Docker/php-7.4-fpm/Dockerfile b/Docker/php-7.4-fpm/Dockerfile index da40588..6ab5a4b 100644 --- a/Docker/php-7.4-fpm/Dockerfile +++ b/Docker/php-7.4-fpm/Dockerfile @@ -20,7 +20,9 @@ RUN apt-get update && apt-get install -y \ RUN apt-get install -y git vim RUN pecl install redis-5.3.3 && \ - pecl install xdebug-2.9.2 && \ + docker-php-ext-enable redis + +RUN pecl install xdebug-3.1.3 && \ docker-php-ext-enable redis xdebug RUN export COMPOSER_HOME=/usr/local/composer && \ @@ -33,13 +35,6 @@ RUN export COMPOSER_HOME=/usr/local/composer && \ -L -o /usr/local/bin/drush && \ chmod +x /usr/local/bin/drush -RUN apt-get install -y curl && \ - curl -sL https://deb.nodesource.com/setup_11.x | bash - && \ - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ - apt-get update && \ - apt-get install -y nodejs yarn - RUN apt-get install -y rsyslog COPY ./rsyslog-drupal.conf /etc/rsyslog.d/drupal.conf # ENTRYPOINT ["sh", "-c", "service rsyslog start ; tail -f /dev/null"] diff --git a/docker-compose.yml b/docker-compose.yml index c3eeb70..c3db7ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,6 +66,10 @@ services: - database - redis - server + # for xdebug + # https://github.com/docker/for-linux/issues/264#issuecomment-965465879 + extra_hosts: + - host.docker.internal:host-gateway depends_on: - mysql_d9 - redis diff --git a/ressources/xdebug.ini.exemple b/ressources/xdebug.ini.exemple index f882619..13dcc8a 100644 --- a/ressources/xdebug.ini.exemple +++ b/ressources/xdebug.ini.exemple @@ -1,18 +1,50 @@ [xdebug] -xdebug.remote_enable=1 +; xdebug.remote_enable=1 +xdebug.mode=debug + ;Should use host.docker.internal but not working on linux -xdebug.remote_host=172.21.0.1 +; xdebug.remote_host=172.20.0.1 +; Replaced by xdebug.client_host. +xdebug.client_host=host.docker.internal + + ;Not working on docker context -xdebug.remote_connect_back=0 +; xdebug.remote_connect_back=0 +; Replaced by xdebug.discover_client_host. +xdebug.discover_client_host=0 + + ;9000 is already bound by php-fpm -xdebug.remote_port=9001 +; xdebug.remote_port=9001 +; xdebug.remote_port # +; Replaced by xdebug.client_port. +; The default value has also changed from 9000 to 9003. +xdebug.client_port=9001 + xdebug.remote_handler=dbgp -xdebug.remote_mode=req -xdebug.remote_autostart=true + +; xdebug.remote_mode=req +; xdebug.remote_mode # +; For the req value (the original default), use xdebug.mode=debug with xdebug.start_with_request=trigger. If the original xdebug.remote_autostart behaviour is necessary, use xdebug.start_with_request=yes instead of trigger. + +; For the jit value, use xdebug.mode=debug and xdebug.start_upon_error=yes. + + +; xdebug.remote_autostart=true +; Use xdebug.mode=debug with xdebug.start_with_request=yes +xdebug.start_with_request=yes + ; ?=XDEBUG_SESSION_START=1 ;Log file is mounted on volume so you can follow it -xdebug.remote_log=/var/log/xdebug-error.log -xdebug.profiler_enable_trigger=1 -xdebug.profiler_enable=0 -xdebug.profiler_output_dir=/var/log/ +; xdebug.remote_log=/var/log/xdebug-error.log +; Replaced by xdebug.log, which also includes log messages beyond Step Debugging. +xdebug.log=/var/log/xdebug-error.log + +; xdebug.profiler_enable=0 +; xdebug.profiler_enable_trigger=1 +; Use xdebug.mode=profile with xdebug.start_with_request=trigger. +xdebug.profiler_output_name = cachegrind.out.%t.%R +xdebug.output_dir=/var/log/ +; Use the generic xdebug.output_dir setting. + ; Example: http://localhost:8080/test?XDEBUG_PROFILE=1