Project development requires not only programming skills but also the ability to set up an effective working environment. In this article, I'll share my experience in creating a dev environment for PHP projects using Docker. I'll explain how to organize the file structure, configure Dockerfile
and docker-compose.yml
, and share useful tips on optimization and security. Whether you're working on a pet project or preparing for team development, these practices will help you create a reliable and flexible development environment.
This environment is based on my favorite and most frequently used tools:
- Docker
for containerization - Docker compose
for container management - Latest version of PHP
- Composer
for PHP dependency management - xDebug
for application debugging - RoadRunner
for running the application in Long-Running mode - PHP framework Yii3
- PostgreSQL
database, as it supports keep-alive connections, unlike some others .