Browse Source

fixed xdebug

bach 1 year ago
parent
commit
5872e1d879
3 changed files with 49 additions and 18 deletions
  1. 3 8
      Docker/php-7.4-fpm/Dockerfile
  2. 4 0
      docker-compose.yml
  3. 42 10
      ressources/xdebug.ini.exemple

+ 3 - 8
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"]

+ 4 - 0
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

+ 42 - 10
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