2.0 KiB
2.0 KiB
PHP Docker Development Environment
This project uses Docker Compose to run a PHP application with Nginx and Xdebug support.
Prerequisites
- Docker
- Docker Compose
Setup and Run
1. Install Composer Dependencies
Run this command to install PHP dependencies using Composer in a Docker container:
docker run --rm -v $(pwd):/app composer install
2. Start Docker Containers
docker-compose up -d
This will start:
- PHP-FPM container with Xdebug (port 9003)
- Nginx web server (port 8080)
3. Access the Application
Open your browser and navigate to:
http://localhost:8080
Xdebug Configuration
Xdebug is pre-configured and runs on port 9003.
VS Code / Kiro IDE Setup
Add this configuration to your .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
}
}
]
}
PhpStorm Setup
- Go to Settings → PHP → Servers
- Add a new server:
- Name:
localhost - Host:
localhost - Port:
8080 - Debugger:
Xdebug - Use path mappings: Enable
- Map your project root to
/var/www/html
- Name:
Useful Commands
Stop Containers
docker-compose down
View Logs
docker-compose logs -f
Restart Containers
docker-compose restart
Update Composer Dependencies
docker run --rm -v $(pwd):/app composer update
Access PHP Container Shell
docker exec -it php-fpm sh
Troubleshooting
403 Forbidden Error
Make sure the nginx configuration includes the index directive and restart nginx:
docker-compose restart nginx
Xdebug Not Working
- Check that port 9003 is not blocked by firewall
- Verify Xdebug is loaded:
docker exec php-fpm php -v - Check xdebug.ini configuration in
docker/php/xdebug.ini