2018-01-05 17:31:59 +01:00
2026-01-09 11:41:28 +01:00
2018-01-10 21:09:08 +01:00
2026-01-12 18:57:31 +01:00
2025-01-22 18:52:04 +01:00
2017-12-14 10:17:13 +01:00
2017-12-21 17:49:38 +01:00
2026-01-09 11:41:28 +01:00
2017-12-14 10:17:13 +01:00
2026-01-09 11:41:28 +01:00
2017-12-14 10:17:13 +01:00
2026-01-09 11:41:28 +01:00
2017-12-14 10:17:13 +01:00

PHP Docker Template

Template voor PHP projecten (CodeIgniter, plain PHP, etc.) met Xdebug support.

Snelle start

1. Kopieer bestanden naar je project

cp -r docker/ /pad/naar/jouw-project/
cp docker-compose.yml /pad/naar/jouw-project/
cp .env.example /pad/naar/jouw-project/.env

2. Configureer je project

Pas .env aan:

PROJECT_NAME=jouwproject
PROJECT_DOMAIN=jouwproject.test
DB_DATABASE=jouwproject_db

3. Pas PHP versie aan (indien nodig)

In docker-compose.yml, wijzig de PHP_VERSION:

args:
  PHP_VERSION: "8.2"  # Opties: 7.4, 8.0, 8.1, 8.2, 8.3, 8.4

4. Pas document root aan (indien nodig)

In docker/nginx.conf, wijzig root als je project geen /public map heeft:

# Voor CodeIgniter 3:
root /var/www/html;

# Voor CodeIgniter 4 / Laravel-style:
root /var/www/html/public;

5. DNS instellen

Voeg toe aan /etc/hosts:

127.0.0.1 jouwproject.test

Of gebruik dnsmasq voor automatische .test domeinen.

6. Database aanmaken

docker exec -it shared-mysql mysql -u root -proot -e "CREATE DATABASE jouwproject_db;"

7. Start het project

# Zorg dat shared services draaien
cd /Volumes/development/sites/docker-shared
docker compose up -d

# Start je project
cd /pad/naar/jouw-project
docker compose up -d --build

Je project is nu beschikbaar op http://jouwproject.test


Xdebug met PHPStorm

1. PHPStorm configureren

  1. Preferences → PHP → Servers

    • Klik op +
    • Name: jouwproject.test
    • Host: jouwproject.test
    • Port: 80
    • Debugger: Xdebug
    • ✅ Use path mappings
    • Map /pad/naar/jouw-project → /var/www/html
  2. Preferences → PHP → Debug

    • Debug port: 9003
    • ✅ Can accept external connections
  3. Preferences → PHP → Debug → DBGp Proxy

    • IDE key: PHPSTORM

2. Debugging starten

  1. Klik op de telefoon-icoon in PHPStorm: "Start Listening for PHP Debug Connections"
  2. Zet een breakpoint
  3. Open je pagina in de browser
  4. PHPStorm stopt automatisch bij je breakpoint

Handige commando's

# Start containers
docker compose up -d

# Herbouw na Dockerfile wijzigingen
docker compose up -d --build

# Stop containers
docker compose down

# Bekijk logs
docker compose logs -f

# Shell in PHP container
docker exec -it jouwproject-app bash

# Composer commands
docker exec -it jouwproject-app composer install
docker exec -it jouwproject-app composer update

# Artisan commands (als je Laravel-achtige CLI hebt)
docker exec -it jouwproject-app php artisan migrate

Structuur

jouw-project/
├── docker/
│   ├── Dockerfile      # PHP container configuratie
│   ├── nginx.conf      # Nginx configuratie  
│   ├── php.ini         # PHP settings
│   └── xdebug.ini      # Xdebug settings
├── docker-compose.yml  # Container orchestratie
├── .env                # Project variabelen
└── ... je project bestanden

Troubleshooting

Container kan shared-mysql niet bereiken

Controleer of shared services draaien:

docker ps | grep shared-mysql

Xdebug werkt niet

  1. Check of xdebug actief is:
    docker exec -it jouwproject-app php -m | grep xdebug
    
  2. Check PHPStorm luistert op poort 9003
  3. Controleer path mapping in PHPStorm

Permission denied errors

docker exec -it jouwproject-app chown -R www:www /var/www/html/storage
S
Description
No description provided
Readme
19 MiB
Languages
PHP 72.4%
Hack 11.2%
CSS 9.7%
JavaScript 6.6%
HTML 0.1%