wodby / docker4php

Docker-based PHP stack
https://wodby.com/docker4php
MIT License
277 stars 44 forks source link

XDebug not stopping at my breakpoints #18

Open TacticsJan opened 2 years ago

TacticsJan commented 2 years ago

Codebase

Mounted codebase

Host OS

Windows 10

Docker info output

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.6.1-docker)
  compose: Docker Compose (Docker Inc., v2.0.0-rc.3)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 58
  Running: 15
  Paused: 0
  Stopped: 43
 Images: 39
 Server Version: 20.10.8
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e25210fe30a0a703442421b0f60afac609f950a3
 runc version: v1.0.1-0-g4144b63
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.47-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 3.841GiB
 Name: docker-desktop
 ID: 5W5X:WCV7:6ONG:YAW6:VSCQ:TZQZ:HUAN:B2A3:L34L:BONP:F37T:PGK4
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Docker compose file

version: "3"

services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: "${DOCKER_PROJECT_NAME}_mssql"
    user: root
    environment:
      ACCEPT_EULA: 'Y'
      MSSQL_SA_PASSWORD: $DATABASE_PASS
    ports:
    - "1433:1433"
    volumes:
    - mssql-volume:/var/opt/mssql/data

  mailhog:
    image: mailhog/mailhog
    container_name: "${DOCKER_PROJECT_NAME}_mailhog"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_mailhog.rule=Host(`mailhog.${DOCKER_PROJECT_URL}`)"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_mailhog.entrypoints=websecure"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_mailhog.tls.certresolver=myresolver"
      - "traefik.http.services.${DOCKER_PROJECT_NAME}_mailhog.loadbalancer.server.port=8025"

  nginx_backend:
    image: wodby/nginx:1.19
    container_name: "${DOCKER_PROJECT_NAME}_nginx_backend"
    depends_on:
      - php
    environment:
      NGINX_BACKEND_HOST: php
      NGINX_ERROR_LOG_LEVEL: debug
      NGINX_SERVER_ROOT: /var/www/html/web
      NGINX_STATIC_OPEN_FILE_CACHE: "off"
      NGINX_VHOST_PRESET: php
      NGINX_INDEX_FILE: admin_dev.php
      NGINX_FASTCGI_INDEX: admin_dev.php
      NGINX_SERVER_EXTRA_CONF_FILEPATH: /var/www/html/.docker/nginx/nginx-locations.conf
    env_file:
      - .env
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_backend.rule=Host(`${DOCKER_PROJECT_URL}`)"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_backend.entrypoints=websecure"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_backend.tls.certresolver=myresolver"
    volumes:
      - "./:/var/www/html"

  nginx_frontend:
    image: wodby/nginx:1.19
    container_name: "${DOCKER_PROJECT_NAME}_nginx_frontend"
    depends_on:
      - php
    environment:
      NGINX_BACKEND_HOST: php
      NGINX_ERROR_LOG_LEVEL: debug
      NGINX_SERVER_ROOT: /var/www/html/web
      NGINX_STATIC_OPEN_FILE_CACHE: "off"
      NGINX_VHOST_PRESET: php
      NGINX_INDEX_FILE: site_dev.php
      NGINX_FASTCGI_INDEX: site_dev.php
      NGINX_SERVER_EXTRA_CONF_FILEPATH: /var/www/html/.docker/nginx/nginx-locations.conf
    env_file:
      - .env
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_frontend.rule=Host(`${DOCKER_PROJECT_URL_FRONTEND}`)"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_frontend.entrypoints=websecure"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_frontend.tls.certresolver=myresolver"
    volumes:
      - "./:/var/www/html"

  nginx_backend8:
    image: wodby/nginx:1.19
    container_name: "${DOCKER_PROJECT_NAME}_nginx_backend8"
    depends_on:
      - php8
    environment:
      NGINX_BACKEND_HOST: php8
      NGINX_ERROR_LOG_LEVEL: debug
      NGINX_SERVER_ROOT: /var/www/html/web
      NGINX_STATIC_OPEN_FILE_CACHE: "off"
      NGINX_VHOST_PRESET: php
      NGINX_INDEX_FILE: admin_dev.php
      NGINX_FASTCGI_INDEX: admin_dev.php
      NGINX_SERVER_EXTRA_CONF_FILEPATH: /var/www/html/.docker/nginx/nginx-locations.conf
    env_file:
      - .env
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_backend8.rule=Host(`${DOCKER_PROJECT_URL8}`)"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_backend8.entrypoints=websecure"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_backend8.tls.certresolver=myresolver"
    volumes:
      - "./:/var/www/html"

  nginx_frontend8:
    image: wodby/nginx:1.19
    container_name: "${DOCKER_PROJECT_NAME}_nginx_frontend8"
    depends_on:
      - php8
    environment:
      NGINX_BACKEND_HOST: php8
      NGINX_ERROR_LOG_LEVEL: debug
      NGINX_SERVER_ROOT: /var/www/html/web
      NGINX_STATIC_OPEN_FILE_CACHE: "off"
      NGINX_VHOST_PRESET: php
      NGINX_INDEX_FILE: site_dev.php
      NGINX_FASTCGI_INDEX: site_dev.php
      NGINX_SERVER_EXTRA_CONF_FILEPATH: /var/www/html/.docker/nginx/nginx-locations.conf
    env_file:
      - .env
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_frontend8.rule=Host(`${DOCKER_PROJECT_URL_FRONTEND8}`)"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_frontend8.entrypoints=websecure"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_nginx_frontend8.tls.certresolver=myresolver"
    volumes:
      - "./:/var/www/html"

  composer:
    image: wodby/php:7.4-dev-4.17.0
    container_name: "${DOCKER_PROJECT_NAME}_composer"
    environment:
      COLUMNS: 80
      PHP_FPM_GROUP: wodby
      PHP_FPM_USER: wodby
      PHP_SENDMAIL_PATH: "/usr/sbin/sendmail -t -i -S mailhog:1025"
    env_file:
      - .env
    volumes:
      - "./:/var/www/html"

  composer8:
    image: wodby/php:8.1-dev-4.27.0
    container_name: "${DOCKER_PROJECT_NAME}_composer8"
    environment:
      COLUMNS: 80
      PHP_FPM_GROUP: wodby
      PHP_FPM_USER: wodby
      PHP_SENDMAIL_PATH: "/usr/sbin/sendmail -t -i -S mailhog:1025"
    env_file:
      - .env
    volumes:
      - "./:/var/www/html"

  php:
    image: wodby/php:7.4-dev-4.17.0
    container_name: "${DOCKER_PROJECT_NAME}_php"
    environment:
      COLUMNS: 80
      PHP_FPM_GROUP: wodby
      PHP_FPM_USER: wodby
      PHP_SENDMAIL_PATH: "/usr/sbin/sendmail -t -i -S mailhog:1025"
      DB_HOST: $DATABASE_HOST
      DB_USER: $DATABASE_USER
      DB_PASSWORD: $DATABASE_PASS
      DB_NAME: $DATABASE_NAME
      DB_DRIVER: $DATABASE_DRIVER
      PHP_DEFAULT_CHARSET: 'utf-8'
      PHP_DATE_TIMEZONE: 'UTC'
      PHP_UPLOAD_MAX_FILESIZE: '10M'
      PHP_POST_MAX_SIZE: '10M'
      PHP_DISPLAY_ERRORS: 'On'
      PHP_DISPLAY_STARTUP_ERRORS: 'On'
      PHP_MAX_EXECUTION_TIME: '30000'
      PHP_MAX_INPUT_TIME: '60'
      PHP_MAX_INPUT_VARS: '2000'
      PHP_ERROR_REPORTING: 'E_ALL'
      PHP_LOG_ERRORS: 'On'
      PHP_LOG_ERRORS_MAX_LEN: '0'
      PHP_MEMORY_LIMIT: '512M'
      PHP_SESSION_GC_MAXLIFETIME: '700000'
      PHP_REALPATH_CACHE_SIZE: '4096K'
      PHP_REALPATH_CACHE_TTL: '3600'
      PHP_XHPROF: $PROFILING_ENABLED
      PHP_SESSION_SAVE_PATH: '/tmp'
      PHP_XDEBUG: 1
      PHP_XDEBUG_MODE: debug
      PHP_XDEBUG_DEFAULT_ENABLE: 1
      PHP_XDEBUG_REMOTE_CONNECT_BACK: 0
      #PHP_XDEBUG_REMOTE_HOST: 'host.docker.internal'
      #PHP_XDEBUG_REMOTE_HOST: 127.19.0.1
      PHP_XDEBUG_REMOTE_LOG: '/tmp/php-xdebug.log'
    env_file:
      - .env
    volumes:
      - "./:/var/www/html"
      - "./log/php:/var/log"
      - "./log/tmp:/tmp"
      - "./.docker/php/conf.d/docker-php-extra.ini:/usr/local/etc/php/conf.d/docker-php-extra.ini"
      ## For php profiler traces
      - "files:/mnt/files"

  php8:
    image: wodby/php:8.1-dev-4.27.0
    container_name: "${DOCKER_PROJECT_NAME}_php8"
    environment:
      COLUMNS: 80
      PHP_FPM_GROUP: wodby
      PHP_FPM_USER: wodby
      PHP_SENDMAIL_PATH: "/usr/sbin/sendmail -t -i -S mailhog:1025"
      DB_HOST: $DATABASE_HOST
      DB_USER: $DATABASE_USER
      DB_PASSWORD: $DATABASE_PASS
      DB_NAME: $DATABASE_NAME
      DB_DRIVER: $DATABASE_DRIVER
      PHP_DEFAULT_CHARSET: 'utf-8'
      PHP_DATE_TIMEZONE: 'UTC'
      PHP_UPLOAD_MAX_FILESIZE: '10M'
      PHP_POST_MAX_SIZE: '10M'
      PHP_DISPLAY_ERRORS: 'On'
      PHP_DISPLAY_STARTUP_ERRORS: 'On'
      PHP_MAX_EXECUTION_TIME: '30000'
      PHP_MAX_INPUT_TIME: '60'
      PHP_MAX_INPUT_VARS: '2000'
      PHP_ERROR_REPORTING: 'E_ALL'
      PHP_LOG_ERRORS: 'On'
      PHP_LOG_ERRORS_MAX_LEN: '0'
      PHP_MEMORY_LIMIT: '512M'
      PHP_SESSION_GC_MAXLIFETIME: '700000'
      PHP_REALPATH_CACHE_SIZE: '4096K'
      PHP_REALPATH_CACHE_TTL: '3600'
      PHP_XHPROF: $PROFILING_ENABLED
      PHP_SESSION_SAVE_PATH: '/tmp'
      PHP_XDEBUG: 1
      PHP_XDEBUG_MODE: debug
      PHP_XDEBUG_DEFAULT_ENABLE: 1
      PHP_XDEBUG_REMOTE_CONNECT_BACK: 0
      #PHP_XDEBUG_REMOTE_HOST: 'host.docker.internal'
      #PHP_XDEBUG_REMOTE_HOST: 127.19.0.1
      PHP_XDEBUG_REMOTE_LOG: '/tmp/php-xdebug.log'
    env_file:
      - .env
    volumes:
      - "./:/var/www/html"
      - "./log/php:/var/log"
      - "./log/tmp:/tmp"
      - "./.docker/php/conf.d/docker-php-extra.ini:/usr/local/etc/php/conf.d/docker-php-extra.ini"
      ## For php profiler traces
      - "files:/mnt/files"

  xhprof:
     image: wodby/xhprof:2.7.1
     container_name: "${DOCKER_PROJECT_NAME}_xhprof"
     restart: always
     volumes:
      - files:/mnt/files
     labels:
       - "traefik.enable=true"
       - "traefik.http.routers.${DOCKER_PROJECT_NAME}_xhprof.rule=Host(`xhprof.${DOCKER_PROJECT_URL}`)"
       - "traefik.http.routers.${DOCKER_PROJECT_NAME}_xhprof.entrypoints=websecure"
       - "traefik.http.routers.${DOCKER_PROJECT_NAME}_xhprof.tls.certresolver=myresolver"

  crond:
    image: wodby/php:7.4-dev-4.17.0
    container_name: "${DOCKER_PROJECT_NAME}_crond"
    command: "sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond -f -d 0"
    volumes:
      - "./:/var/www/html"
      - "./.docker/crond/crontab:/etc/crontabs/www-data"

  redis:
    image: wodby/redis:4-3.2.2
    container_name: "${DOCKER_PROJECT_NAME}_redis"

  portainer:
    image: portainer/portainer
    container_name: "${DOCKER_PROJECT_NAME}_portainer"
    command: "--no-auth -H unix:///var/run/docker.sock"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_portainer.rule=Host(`portainer.${DOCKER_PROJECT_URL}`)"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_portainer.entrypoints=websecure"
      - "traefik.http.routers.${DOCKER_PROJECT_NAME}_portainer.tls.certresolver=myresolver"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"

  traefik:
    image: traefik:v2.0
    container_name: "${DOCKER_PROJECT_NAME}_traefik"
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      # Traefik will listen to incoming request on the port 443 (https) and 80 (http)
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      # Enable a http challenge named myresolver"
      - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
      # Tell it to use our predefined entrypoint named "web"
      - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
      # Tell to store the certificate on a path under our volume
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
      # The email to provide to let's encrypt
      - "--certificatesresolvers.myresolver.acme.email=info@tactics.be"
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      - "./.docker/traefik/letsencrypt:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

volumes:
  ## For database
  mssql-volume:
  ## For php profiler
  files:

Logs output

traefik log when I hit the page with my breakpoint

kinderopvang_traefik          | time="2021-12-30T12:43:47Z" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"GET\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/favicon.ico\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8\"],\"Accept-Encoding\":[\"br, gzip, deflate\"],\"Accept-Language\":[\"en-GB,en-US;q=0.9,en;q=0.8,nl;q=0.7\"],\"Cookie\":[\"_ga=GA1.2.924308641.1632485152; cookieconsent_status=dismiss; kdv_admin=svd8sibso2lt8f31mjk6l8oggc; _gid=GA1.2.523924256.1640682079; kdv_oostende_site=s6g2rpfubii5vu9q1q7livl5im; XDEBUG_SESSION=XDEBUG_ECLIPSE; _gat=1\"],\"Referer\":[\"https://kinderopvang.test/admin_dev.php/aanvraag/list\"],\"Sec-Ch-Ua\":[\"\\\" Not A;Brand\\\";v=\\\"99\\\", \\\"Chromium\\\";v=\\\"96\\\", \\\"Google Chrome\\\";v=\\\"96\\\"\"],\"Sec-Ch-Ua-Mobile\":[\"?0\"],\"Sec-Ch-Ua-Platform\":[\"\\\"Windows\\\"\"],\"Sec-Fetch-Dest\":[\"image\"],\"Sec-Fetch-Mode\":[\"no-cors\"],\"Sec-Fetch-Site\":[\"same-origin\"],\"User-Agent\":[\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36\"],\"X-Forwarded-Host\":[\"kinderopvang.test\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"e8ccce2554de\"],\"X-Real-Ip\":[\"172.31.0.1\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"kinderopvang.test\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"172.31.0.1:60284\",\"RequestURI\":\"/favicon.ico\",\"TLS\":null}"

xdebug log with default remote host or remote host pointing to '127.19.0.1', which is basically the same since default value is localhost?

89] Log opened at 2021-12-30 12:34:14
[89] I: Connecting to configured address/port: localhost:9000.
[89] I: Connected to client. :-)
[89] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/web/admin_dev.php" language="PHP" xdebug:language_version="7.4.11" protocol_version="1.0" appid="89" idekey="wodby"><engine version="2.9.6"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>

[89] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

[89] Log closed at 2021-12-30 12:34:27

[87] Log opened at 2021-12-30 12:51:16
[87] I: Connecting to configured address/port: 127.19.0.1:9000.
[87] I: Connected to client. :-)
[87] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/web/admin_dev.php" language="PHP" xdebug:language_version="7.4.11" protocol_version="1.0" appid="87" idekey="wodby"><engine version="2.9.6"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>

[87] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

[87] Log closed at 2021-12-30 12:51:30

XDebug log when using host.docker.internal (suggestion I found somewhere online)

[87] Log opened at 2021-12-30 12:43:47
[87] I: Connecting to configured address/port: host.docker.internal:9000.
[87] E: Time-out connecting to client (Waited: 200 ms). :-(
[87] Log closed at 2021-12-30 12:43:48

Before adding remote_connect_back=0 I always had following output in log

Creating socket for '127.19.0.1:9000', poll success, but error: Operation in progress (29).

I have read a lot of other issues, SO threads but no answer seems really definitive. I've been trying to set this up for too long now which is sad because the docs make it seem like a simple plug and play setup. I really hope someone can help to clear up this issue.

TacticsJan commented 2 years ago

I also tried

PHP_XDEBUG_REMOTE_HOST: 10.0.75.1

PHPSTORM is allowed in my firewall and I have added 0.0.0.0 localhost 10.0.75.1 localhost

to my host file

csandanov commented 2 years ago

see https://github.com/wodby/docker4drupal/issues/468#issuecomment-780507532

TacticsJan commented 2 years ago

Ok, implementing the path mapping gave me the same result for both 10.0.75.1 and default as host

[86] Log opened at 2021-12-30 15:46:59
[86] I: Connecting to configured address/port: 10.0.75.1:9000.
[86] E: Time-out connecting to client (Waited: 200 ms). :-(
[86] Log closed at 2021-12-30 15:47:00

[85] Log opened at 2021-12-30 15:51:00
[85] I: Connecting to configured address/port: localhost:9000.
[85] I: Connected to client. :-)
[85] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/web/admin_dev.php" language="PHP" xdebug:language_version="7.4.11" protocol_version="1.0" appid="85" idekey="wodby"><engine version="2.9.6"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>

[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

[85] Log closed at 2021-12-30 15:51:14

[86] Log opened at 2021-12-30 15:53:33
[86] I: Connecting to configured address/port: localhost:9000.
[86] I: Connected to client. :-)
[86] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/web/admin_dev.php" language="PHP" xdebug:language_version="7.4.11" protocol_version="1.0" appid="86" idekey="wodby"><engine version="2.9.6"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>

[86] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

[86] Log closed at 2021-12-30 15:53:37

[85] Log opened at 2021-12-30 15:53:48
[85] I: Connecting to configured address/port: localhost:9000.
[85] I: Connected to client. :-)
[85] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/web/admin_dev.php" language="PHP" xdebug:language_version="7.4.11" protocol_version="1.0" appid="85" idekey="wodby"><engine version="2.9.6"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>

[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

[85] Log closed at 2021-12-30 15:53:51

But using host.docker.internal gave me the following output in the logs. Still not opening my IDE though

[85] Log opened at 2021-12-30 15:59:31
[85] I: Connecting to configured address/port: host.docker.internal:9000.
[85] I: Connected to client. :-)
[85] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/web/admin_dev.php" language="PHP" xdebug:language_version="7.4.11" protocol_version="1.0" appid="85" idekey="wodby"><engine version="2.9.6"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>

[85] <- eval -i 1 -- KHN0cmluZykoaW5pX2dldCgneGRlYnVnLmNvdmVyYWdlX2VuYWJsZScpLic7Jy5pbmlfZ2V0KCd4ZGVidWcucHJvZmlsZXJfZW5hYmxlJykuJzsnLmluaV9nZXQoJ3hkZWJ1Zy5yZW1vdGVfYXV0b3N0YXJ0JykuJzsnLmluaV9nZXQoJ3hkZWJ1Zy5yZW1vdGVfY29ubmVjdF9iYWNrJykuJzsnLmluaV9nZXQoJ3hkZWJ1Zy5yZW1vdGVfbW9kZScpKQ==
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="eval" transaction_id="1"><property type="string" size="11" encoding="base64"><![CDATA[MTswOzE7MDtyZXE=]]></property></response>

[85] <- feature_set -i 2 -n show_hidden -v 1
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="show_hidden" success="1"></response>

[85] <- feature_set -i 3 -n max_depth -v 1
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="max_depth" success="1"></response>

[85] <- feature_set -i 4 -n max_children -v 100
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="4" feature="max_children" success="1"></response>

[85] <- feature_set -i 5 -n extended_properties -v 1
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="5" feature="extended_properties" success="1"></response>

[85] <- feature_set -i 6 -n notify_ok -v 1
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="6" feature="notify_ok" success="1"></response>

[85] <- feature_set -i 7 -n resolved_breakpoints -v 1
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="7" feature="resolved_breakpoints" success="1"></response>

[85] <- stdout -i 8 -c 1
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="stdout" transaction_id="8" success="1"></response>

[85] <- status -i 9
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="status" transaction_id="9" status="starting" reason="ok"></response>

[85] <- step_into -i 10
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="10" status="break" reason="ok"><xdebug:message filename="file:///var/www/html/web/admin_dev.php" lineno="8"></xdebug:message></response>

[85] <- eval -i 11 -- aXNzZXQoJF9TRVJWRVJbJ1BIUF9JREVfQ09ORklHJ10p
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="eval" transaction_id="11"><property type="bool"><![CDATA[1]]></property></response>

[85] <- eval -i 12 -- KHN0cmluZykoJF9TRVJWRVJbJ1BIUF9JREVfQ09ORklHJ10p
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="eval" transaction_id="12"><property type="string" size="18" encoding="base64"><![CDATA[c2VydmVyTmFtZT1kZWZhdWx0]]></property></response>

[85] <- stack_get -i 13
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="13"><stack where="{main}" level="0" type="file" filename="file:///var/www/html/web/admin_dev.php" lineno="8"></stack></response>

[85] <- run -i 14
[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/src/config/bootstrap.php" lineno="9" type="Warning"><![CDATA[include(/var/www/html/src/../.env.local.php): failed to open stream: No such file or directory]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/src/config/bootstrap.php" lineno="9" type="Warning"><![CDATA[include(): Failed opening '/var/www/html/src/../.env.local.php' for inclusion (include_path='.:/usr/local/lib/php')]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/contracts/Deprecation/function.php" lineno="25" type="Deprecated"><![CDATA[Since symfony/dotenv 5.1: Passing a boolean to the constructor of "Symfony\Component\Dotenv\Dotenv" is deprecated, use "Dotenv::usePutenv()".]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/contracts/Deprecation/function.php" lineno="25" type="Deprecated"><![CDATA[Since symfony/framework-bundle 5.3: The "session.storage.native" service is deprecated, use "session.storage.factory.native" instead.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/contracts/Deprecation/function.php" lineno="25" type="Deprecated"><![CDATA[Since symfony/framework-bundle 5.3: The "session.storage.metadata_bag" service is deprecated, create your own "session.storage.factory" instead.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/contracts/Deprecation/function.php" lineno="25" type="Deprecated"><![CDATA[Since symfony/framework-bundle 5.3: The "session.storage.factory.service" service is deprecated, use "session.storage.factory.native", "session.storage.factory.php_bridge" or "session.storage.factory.mock_file" instead.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/tactics/symfony/lib/vendor/creole/Creole.php" lineno="315" type="Notice"><![CDATA[Undefined index: port]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/symfony/src/Symfony/Component/ErrorHandler/DebugClassLoader.php" lineno="325" type="Deprecated"><![CDATA[Method "Psr\Cache\CacheItemInterface::getKey()" might add "string" as a native return type declaration in the future. Do the same in implementation "Cache\Adapter\Common\CacheItem" now to avoid errors or add an explicit @return annotation to suppress this message.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/symfony/src/Symfony/Component/ErrorHandler/DebugClassLoader.php" lineno="325" type="Deprecated"><![CDATA[Method "Psr\Cache\CacheItemInterface::set()" might add "static" as a native return type declaration in the future. Do the same in implementation "Cache\Adapter\Common\CacheItem" now to avoid errors or add an explicit @return annotation to suppress this message.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/symfony/src/Symfony/Component/ErrorHandler/DebugClassLoader.php" lineno="325" type="Deprecated"><![CDATA[Method "Psr\Cache\CacheItemInterface::get()" might add "mixed" as a native return type declaration in the future. Do the same in implementation "Cache\Adapter\Common\CacheItem" now to avoid errors or add an explicit @return annotation to suppress this message.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/symfony/src/Symfony/Component/ErrorHandler/DebugClassLoader.php" lineno="325" type="Deprecated"><![CDATA[Method "Psr\Cache\CacheItemInterface::isHit()" might add "bool" as a native return type declaration in the future. Do the same in implementation "Cache\Adapter\Common\CacheItem" now to avoid errors or add an explicit @return annotation to suppress this message.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/symfony/src/Symfony/Component/ErrorHandler/DebugClassLoader.php" lineno="325" type="Deprecated"><![CDATA[Method "Psr\Cache\CacheItemInterface::expiresAt()" might add "static" as a native return type declaration in the future. Do the same in implementation "Cache\Adapter\Common\CacheItem" now to avoid errors or add an explicit @return annotation to suppress this message.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/symfony/src/Symfony/Component/ErrorHandler/DebugClassLoader.php" lineno="325" type="Deprecated"><![CDATA[Method "Psr\Cache\CacheItemInterface::expiresAfter()" might add "static" as a native return type declaration in the future. Do the same in implementation "Cache\Adapter\Common\CacheItem" now to avoid errors or add an explicit @return annotation to suppress this message.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/vendor/symfony/contracts/Deprecation/function.php" lineno="25" type="Deprecated"><![CDATA[Since symfony/security-core 5.4: Not setting the 5th argument of "Symfony\Component\Security\Core\Authorization\AuthorizationChecker::__construct" to "false" is deprecated.]]></xdebug:message></notify>

[85] -> <notify xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" name="error"><xdebug:message filename="file:///var/www/html/apps/admin/modules/aanvraag/templates/listSuccess.php" lineno="216" type="Notice"><![CDATA[Undefined variable: zoekNoodAanvragen]]></xdebug:message></notify>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[Q2FjaGUtQ29udHJvbDogbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGUsIHByaXZhdGU=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[RGF0ZTogVGh1LCAzMCBEZWMgMjAyMSAxNTo1OTo0NSBHTVQ=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[Q29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTg=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[WC1Sb2JvdHMtVGFnOiBub2luZGV4]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[RXhwaXJlczogVGh1LCAzMCBEZWMgMjAyMSAxNTo1OTo0NSBHTVQ=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAq]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[QWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnM6ICo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[DQo=]]></stream>

[85] -> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![==]]></stream>

[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="run" transaction_id="14" status="stopping" reason="ok"></response>

[85] <- eval -i 15 -- JEdMT0JBTFNbJ0lERV9FVkFMX0NBQ0hFJ11bJzY5MmI1M2YwLTgxMjgtNDUzOS1hYjU2LTExYWQ4OWM5ZGZlMiddPWVycm9yX3JlcG9ydGluZygpOw==
[85] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="eval" transaction_id="15"><error code="5"><message><![CDATA[command is not available]]></message></error></response>

[85] Log closed at 2021-12-30 15:59:45

I'm seeing a lot of deprecation notices but these should not stop me from using XDebug right? Note that I'm new to using a debug tool and am just trying to figure this out on my own.
csandanov commented 2 years ago

oh, by the way, I've linked the issue that was for the previous xdebug major version, since then a lot of env vars have changed, see https://github.com/wodby/php/blob/master/8/templates/docker-php-ext-xdebug.ini.tmpl and https://github.com/wodby/docker4php/blob/master/docker-compose.yml#L41-L47