Position actuelle: Accueil> Derniers articles> Déployer un environnement de développement PHP qui prend en charge les plugins à l'aide de Docker Compose

Déployer un environnement de développement PHP qui prend en charge les plugins à l'aide de Docker Compose

M66 2025-07-12

Construisez un environnement de développement PHP qui prend en charge les extensions de plug-in

Dans le développement Web d'aujourd'hui, l'utilisation de systèmes de plug-in est devenue un moyen important d'étendre les fonctionnalités des applications PHP. Grâce à un déploiement conteneurisé, vous pouvez construire rapidement et flexiblement un environnement de développement évolutif. Cet article montrera comment utiliser Docker Compose pour combiner nginx et mariaDB pour créer un environnement PHP qui prend en charge les extensions de plug-in.

Installer Docker et Docker Compose

Tout d'abord, assurez-vous que Docker et Docker Compose sont installés correctement sur votre système. Une fois l'installation terminée, vérifiez avec la commande suivante:

 Docker - Version
docker-compose --version

Écriture de fichiers de configuration Docker Compose

Créez le fichier docker-compose.yml dans le répertoire racine du projet et ajoutez ce qui suit:

 Version: '3'
services:
  Web:
    construire:
      contexte: .
      dockerfile: dockerfile
    Volumes:
      -.: / var / www / html
    PORTS:
      - 8080: 80
    links:
      - DB

  DB:
    Image: Mariadb
    environnement:
      Mysql_root_password: secret

Cette configuration définit deux services: PHP Runtime Environment (Web) et Database Service (DB). Le service PHP fournit des interfaces d'accès à l'extérieur via Nginx.

Créer un dockerfile pour l'image PHP

Créez un nouveau fichier dockerfile et écrivez ce qui suit:

 De PHP: 7,4-FPM
Exécutez docker-php-extal-stall PDO_MYSQL

Cette image utilise PHP 7.4 et a une extension PDO_MYSQL préinstallée. Vous pouvez ajouter plus de plugins PHP en fonction des besoins de votre projet.

Configurer l'hôte virtuel Nginx

Créez le fichier de configuration Nginx default.conf dans le répertoire du projet, avec le contenu suivant:

 serveur {
    Écoutez 80;
    index index.php index.html;
    server_name localhost;
    root / var / www / html;

    emplacement / {
        try_files $ uri $ uri / /index.php?$Args;
    }

    Emplacement ~ .php $ {
        Inclure FastCGI_PARAMS;
        FastCGI_PASS Web: 9000;
        fastcgi_param script_filename $ document_root $ fastcgi_script_name;
        fastcgi_param path_info $ fastcgi_path_info;
    }
}

Cette configuration met en œuvre le transfert de demande de base et la logique de l'analyse PHP, garantissant que les conteneurs PHP-FPM sont traités lors de l'accès aux fichiers PHP.

Démarrer l'environnement de développement PHP

Exécutez la commande suivante dans le répertoire racine du projet:

 docker-compose up -d

Cette commande créera et démarrera le conteneur requis en fonction de la configuration.

Connectez-vous à la base de données MARIADB

Vous pouvez utiliser n'importe quel outil de base de données graphique pour vous connecter à MARIADB, tels que DBEAVER, NAVICAT ou PHPMYADMIN. Les informations de connexion sont les suivantes:

 Hôte: localhost
Port: 3306
Nom d'utilisateur: racine
Mot de passe: secret

Développer et déployer votre projet PHP

Écrivez votre code PHP dans le répertoire / var / www / html , tous les fichiers seront automatiquement chargés et traités par Nginx. Vous pouvez tester les fonctionnalités du plugin, gérer les connexions de la base de données, créer des API REST, et plus encore dans cet environnement.

Résumer

En combinant Docker Compose, Nginx et MariADB, nous pouvons construire un environnement de développement PHP léger et efficace, qui est particulièrement adapté aux scénarios de développement qui nécessitent une itération rapide et de fortes capacités d'expansion du plug-in. Avec la flexibilité des conteneurs, les développeurs peuvent se concentrer davantage sur la mise en œuvre de la logique métier et des fonctions de plug-in sans avoir à configurer capricieux l'environnement de fonctionnement sous-jacent.

Cette solution est hautement personnalisable et peut être élargie et optimisée en fonction des exigences du projet, et convient aux tests de développement locaux et aux processus de développement collaboratif d'équipe.