Creating Sites
Create PHP projects with one-click DevContainers
Create PHP projects with automatic DevContainer setup. Choose from basic PHP, Laravel, or add DevContainer support to existing projects.
Site Types
Basic PHP
Empty PHP project with minimal setup. Perfect for:
- Custom frameworks
- Small applications
- Learning PHP
- API projects
Includes:
- ✅ PHP (your chosen version)
- ✅ Composer
- ✅ XDebug pre-configured
- ✅
public/index.phpstarter file - ✅ DevContainer files
Laravel
New Laravel application with optional starter kits:
None
Clean Laravel installation
React
Laravel + Inertia + React + TypeScript
Vue
Laravel + Inertia + Vue + TypeScript
Livewire
Laravel + Livewire + Blade
Custom
Your own starter repository URL
Laravel Includes:
- ✅ Latest Laravel via Composer
- ✅ Node.js for asset compilation
- ✅ Starter kit of your choice
- ✅ Database-ready (
DB_HOST=damp-mysql) - ✅ Tinker access button
Existing Project
Add DevContainer support to your existing PHP codebase.
What DAMP Adds:
- ✅
.devcontainer/folder - ✅
.vscode/settings - ✅ Named volume for performance
- ✅ HTTPS domain and certificate
- ✅ Hosts file entry
Existing Files Preserved
DAMP only adds DevContainer files - your existing code remains untouched!
Creation Process
Open Create Dialog
Click "Add Site" button in DAMP's Sites page.
Select Site Type
Choose Basic PHP, Laravel, or Existing Project.
Choose Starter Kit (Laravel Only)
If creating Laravel, select your preferred starter kit or none for clean install.
Configure Details
| Field | Description | Example |
|---|---|---|
| Name | Site identifier (no spaces) | myblog |
| Path | Where project folder is created | C:\Users\Me\Projects |
| PHP Version | PHP runtime version | 8.4, 8.3, 8.2, 8.1, 8.0, 7.4 |
Project Location
For Basic/Laravel: Project folder created at {path}\{name}
For Existing: Select the existing project's root folder
Optional Features
Toggle additional features:
- Claude Code CLI - AI coding assistant in DevContainer
- Is Laravel Project (Existing only) - Enable Laravel-specific features
Create Site
Click "Create Site" and watch progress in real-time:
- Setup (10%) - Preparing structure
- Laravel Install (30%) - Installing Laravel (if applicable)
- Volume (50%) - Creating named volume
- DevEnv (80%) - Configuring DevContainer
- Finalizing (90%) - Adding domain and SSL
- Complete (100%) - Ready!
Creation Output
After creation, your project contains:
mysite/
├── .devcontainer/
│ ├── devcontainer.json # VS Code DevContainer config
│ ├── Dockerfile # PHP image with extensions
│ ├── php.ini # PHP configuration
│ └── xdebug.ini # XDebug settings
├── .vscode/
│ ├── launch.json # F5 debugging config
│ └── settings.json # VS Code workspace settings
├── public/
│ └── index.php # Entry point
└── [Laravel files if applicable]PHP Versions
DAMP supports all modern PHP versions:
| Version | Image | Use Case |
|---|---|---|
| 8.4 | php:8.4-apache | Latest features |
| 8.3 | php:8.3-apache | Current stable |
| 8.2 | php:8.2-apache | Previous stable |
| 8.1 | php:8.1-apache | Legacy support |
| 8.0 | php:8.0-apache | Legacy support |
| 7.4 | php:7.4-apache | Legacy projects |
Version Flexibility
Different sites can use different PHP versions - run PHP 7.4 and 8.4 simultaneously!
DevContainer Features
Every site includes:
Pre-installed Extensions
pdo_mysql- MySQL connectivitymysqli- MySQL improvedzip- Archive handlinggd- Image processingintl- Internationalizationopcache- Performancexdebug- Debugging (mode: debug,develop)
VS Code Integration
- F5 Debugging - Breakpoints, step through code
- IntelliSense - Auto-completion
- Format on Save - Code formatting
- Git Integration - Built-in source control
Networking
- DevNet Network - All containers communicate
- Named Volume - Fast file I/O on Windows
- Caddy Integration - Automatic HTTPS routing
Claude Code CLI
Enable AI-powered coding assistance:
// Added to devcontainer.json when enabled
"features": {
"ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
}Usage Inside Container:
# Start interactive session
claude-code
# Get help with code
claude-code "how do I make a PHP API endpoint?"One-Click AI
Just toggle the switch during creation - DAMP handles the DevContainer configuration!
Troubleshooting
Quick Testing
Create a Basic PHP site first to verify your setup works before trying Laravel!