Dans le monde du développement web, la création d’un environnement de développement efficace est essentielle, surtout pour les projets PHP. Docker est un outil puissant qui permet de simplifier ce processus en offrant une méthode rapide et fiable pour configurer des environnements de développement. Cet article vous guidera à travers les étapes nécessaires pour créer un environnement de développement PHP avec Docker, en incluant des outils utiles comme Xdebug pour le débogage.
Pré-requis
Avant de commencer, assurez-vous d’avoir installé les éléments suivants sur votre machine :
- Docker : Assurez-vous d’avoir Docker Desktop installé sur votre système. Cela inclut Docker et Docker Compose.
- Un éditeur de code : Utilisez un éditeur de code comme Visual Studio Code, PHPStorm ou tout autre de votre choix.
Créer un fichier Dockerfile
Le Dockerfile est un fichier texte qui contient toutes les instructions nécessaires pour construire l’image Docker de votre application PHP. Voici un exemple de Dockerfile basique pour une application PHP :
FROM php:8.0-apache
# Install necessary extensions
RUN docker-php-ext-install pdo pdo_mysql
# Enable Apache rewrite module
RUN a2enmod rewrite
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
Créer un fichier docker-compose.yml
Le fichier docker-compose.yml permet de définir et de gérer plusieurs conteneurs Docker. Voici un exemple de fichier docker-compose.yml qui inclut PHP, MySQL et Xdebug :
version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- .:/var/www/html
environment:
- XDEBUG_MODE=debug
- XDEBUG_CONFIG="client_host=host.docker.internal"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: my_database
ports:
- "3306:3306"
Configurer Xdebug
Xdebug est un outil essentiel pour le débogage en PHP. Pour le configurer, vous devrez ajouter quelques lignes dans votre Dockerfile :
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug
Ensuite, créez un fichier de configuration pour Xdebug. Par exemple, créez un fichier xdebug.ini dans un dossier config :
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=host.docker.internal
xdebug.client_port=9003Et ajoutez ce fichier dans votre Dockerfile :
COPY config/xdebug.ini /usr/local/etc/php/conf.d/
Démarrer l’environnement de développement
Pour démarrer votre environnement, ouvrez votre terminal et naviguez jusqu’au dossier où se trouvent vos fichiers Docker. Exécutez la commande suivante :
docker-compose up --buildCette commande construira les images et démarrera les conteneurs. Vous pourrez accéder à votre application PHP en ouvrant votre navigateur à l’adresse http://localhost:8080.
Outils supplémentaires recommandés
En plus de Xdebug, voici quelques outils que vous pourriez trouver utiles pour le développement PHP :
- PHPUnit : Un cadre de test pour PHP qui vous aide à écrire des tests unitaires.
- MailHog : Un outil pour tester les envois de mails dans vos applications sans envoyer de vrais emails.
Conclusion
Créer un environnement de développement PHP avec Docker est un excellent moyen d’assurer la cohérence et la portabilité de vos projets. En utilisant un Dockerfile et un fichier docker-compose.yml, vous pouvez configurer rapidement un environnement complet avec des outils comme Xdebug pour améliorer votre flux de travail. N’hésitez pas à personnaliser ces configurations en fonction de vos besoins spécifiques. Bonne chance dans vos projets de développement !