Aktueller Standort: Startseite> Neueste Artikel> Stellen Sie eine PHP -Entwicklungsumgebung bereit, die Plugins mit Docker Compose unterstützt

Stellen Sie eine PHP -Entwicklungsumgebung bereit, die Plugins mit Docker Compose unterstützt

M66 2025-07-12

Erstellen Sie eine PHP-Entwicklungsumgebung, die Plug-in-Erweiterungen unterstützt

In der heutigen Webentwicklung ist die Verwendung von Plug-in-Systemen zu einer wichtigen Möglichkeit geworden, die Funktionalität von PHP-Anwendungen zu erweitern. Durch Containerisierungseinsatz können Sie eine skalierbare Entwicklungsumgebung schnell und flexibel aufbauen. In diesem Artikel wird angezeigt, wie Docker Compose verwendet wird, um Nginx und MariadB zu kombinieren, um eine PHP-Umgebung zu erstellen, die Plug-in-Erweiterungen unterstützt.

Installieren Sie Docker und Docker Compose

Stellen Sie zunächst sicher, dass Docker und Docker Compose in Ihrem System korrekt installiert sind. Überprüfen Sie nach Abschluss der Installation mit dem folgenden Befehl:

 Docker --version
Docker-Compose-Verssion

Schreiben von Docker -Konfigurationsdateien schreiben

Erstellen Sie die Datei docer-compose.yml im Projektstammverzeichnis und fügen Sie Folgendes hinzu:

 Version: '3'
Dienstleistungen:
  Web:
    bauen:
      Kontext :.
      Dockerfile: Dockerfile
    Bände:
      -.:/var/www/html
    Ports:
      - 8080: 80
    Links:
      - db

  DB:
    Bild: Mariadb
    Umfeld:
      MySQL_ROOT_PASSWORD: Geheimnis

Diese Konfiguration definiert zwei Dienste: PHP Runtime Environment (Web) und Datenbankdienst (DB). PHP Service bietet Zugriffsoberflächen nach außen über Nginx.

Erstellen Sie eine Dockerfile für PHP -Bild

Erstellen Sie eine neue Dockerfile -Datei und schreiben Sie Folgendes:

 Aus Php: 7,4-FPM
Führen Sie Docker-Php-EXT-Installation pdo_mysql aus

Dieses Bild verwendet PHP 7.4 und hat eine vorinstallierte PDO_MYSQL- Erweiterung. Sie können mehr PHP -Plugins entsprechend Ihren Projektanforderungen hinzufügen.

Konfigurieren Sie den Nginx Virtual Host

Erstellen Sie die nginx -Konfigurationsdatei default.conf im Projektverzeichnis mit dem folgenden Inhalt:

 Server {
    Hören Sie 80;
    Index index.php index.html;
    server_name localhost;
    root/var/www/html;

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

    Ort ~ .php $ {
        FASTCGI_PARAMS einschließen;
        fastcgi_pass web: 9000;
        fastcgi_param script_filename $ document_root $ fastcgi_script_name;
        fastcgi_param path_info $ fastcgi_path_info;
    }
}

Diese Konfiguration implementiert grundlegende Anforderungs-Weiterleitung und PHP-Parsing-Logik, um sicherzustellen, dass PHP-FPM-Container beim Zugriff auf PHP-Dateien verarbeitet werden.

Starten Sie die PHP -Entwicklungsumgebung

Führen Sie den folgenden Befehl im Projekt Root -Verzeichnis aus:

 Docker -Compose Up -d

Dieser Befehl erstellt und startet den erforderlichen Container basierend auf der Konfiguration.

Stellen Sie eine Verbindung zur Mariadb -Datenbank her

Sie können jedes grafische Datenbank -Tool verwenden, um eine Verbindung zu MariADB herzustellen, z. B. DBEAver, Navicat oder PhpMyAdmin. Die Verbindungsinformationen sind wie folgt:

 Host: Localhost
Port: 3306
Benutzername: Wurzel
Passwort: Geheimnis

Entwickeln und bereitstellen Sie Ihr PHP -Projekt

Schreiben Sie Ihren PHP -Code in das Verzeichnis /var/www/html . Alle Dateien werden automatisch von Nginx geladen und verarbeitet. Sie können Plugin -Funktionen testen, Datenbankverbindungen verarbeiten, REST -APIs erstellen und mehr in dieser Umgebung.

Zusammenfassen

Durch die Kombination von Docker Compose, Nginx und MariadB können wir eine leichte und effiziente PHP-Entwicklungsumgebung erstellen, die besonders für Entwicklungsszenarien geeignet ist, die eine schnelle Iteration und starke Plug-in-Expansionsfunktionen erfordern. Mit der Flexibilität von Containern können sich Entwickler mehr auf die Implementierung von Geschäftslogik- und Plug-in-Funktionen konzentrieren, ohne die zugrunde liegende Betriebsumgebung typisch konfigurieren zu müssen.

Diese Lösung ist sehr anpassbar und kann gemäß den Projektanforderungen erweitert und optimiert werden. Sie eignet sich für lokale Entwicklungstests und die kollaborativen Entwicklungsprozesse für die kollaborative Team.