PHP WordPress Remote Debugging

R3zk0n ยท October 2, 2025

Contents
    Download PHPStorm
    Download Docker instance - Docker Desktop
    Use Bitnami/Wordpress container - docker-compose up -d [docker-compose.yml]
    Credentials to access WordPress admin `user:bitnami`
    
    Install vim
    
    docker ps
    docker exec -u 0 -it [id] /bin/bash
    apt-get update && apt-get install autoconf make gcc
    pecl install xdebug
    cd /opt/bitnami/php/etc/php.ini
    
    [XDebug]
    zend_extension = xdebug
    xdebug.mode = debug
    xdebug.client_host=host.docker.internal
    xdebug.start_with_request=yes
    
    docker cp 67a1e7f51932:/opt/bitnami/ .
    
    docker restart [id]
    
    Manually install all the plugins
    
    Extract /opt directory to local instance
    
    Run --> Break at first line in PHP Scripts
    
    Can downgrade wordpress in docker-compose.yml
    
    # Logging
    docker exec -u 0 -it [mariadb] /bin/bash
    nano /opt/bitnami/mariadb/conf/my.cnf
    replace log_error with something like /tmp/mysqld.log
    docker restart [mariadb]
    

    WordPress Setup

    version: '2'
    services:
      mariadb:
        image: docker.io/bitnami/mariadb:10.3
        volumes:
          - 'mariadb_data:/bitnami/mariadb'
        environment:
          # ALLOW_EMPTY_PASSWORD is recommended only for development.
          - ALLOW_EMPTY_PASSWORD=yes
          - MARIADB_USER=bn_wordpress
          - MARIADB_DATABASE=bitnami_wordpress
      wordpress:
        image: docker.io/bitnami/wordpress:6
        ports:
          - '9200:9200'
          - '80:8080'
          - '443:8443'
        volumes:
          - 'wordpress_data:/bitnami/wordpress'
        depends_on:
          - mariadb
        environment:
          # ALLOW_EMPTY_PASSWORD is recommended only for development.
          - ALLOW_EMPTY_PASSWORD=yes
          - WORDPRESS_DATABASE_HOST=mariadb
          - WORDPRESS_DATABASE_PORT_NUMBER=3306
          - WORDPRESS_DATABASE_USER=bn_wordpress
          - WORDPRESS_DATABASE_NAME=bitnami_wordpress
        extra_hosts:
          - "host.docker.internal:host-gateway"
    volumes:
      mariadb_data:
        driver: local
      wordpress_data:
        driver: local
    

    Twitter, Facebook