Heim >Technologie-Peripheriegeräte >IT Industrie >Einrichtung einer modernen PHP -Entwicklungsumgebung mit Docker

Einrichtung einer modernen PHP -Entwicklungsumgebung mit Docker

Lisa Kudrow
Lisa KudrowOriginal
2025-02-14 09:43:11874Durchsuche

Dieses Tutorial führt Sie durch die Einrichtung einer PHP -Entwicklungsumgebung mit Docker, der aktuellen Best Practice. Wir werden die Entwicklung von PHP -Entwicklungsumgebungen behandeln und die Vorteile von Docker gegenüber älteren Methoden hervorheben. Wenn Sie den Verlauf überspringen möchten, springen Sie zu den Konfigurationsschritten.

Setting Up a Modern PHP Development Environment with Docker

Eine kurze Geschichte der PHP -Entwicklungsumgebungen

Das schnelle Tempo der Webentwicklung erfordert moderne Ansätze. Veraltete Tutorials gibt es zuhauf. Lassen Sie uns die Evolution überprüfen:

  1. Manuelle Installation: Der mühsame Prozess der manuellen Installation von Apache, PHP und MySQL war in der Vergangenheit häufig. Dies erforderte erhebliche Fachwissen und war zeitaufwändig.

  2. Vorkonfigurierte Pakete (XAMPP, WAMP): Diese Pakete vereinfacht das Setup, aber Inkonsistenzen zwischen Entwicklungs- und Produktionsumgebungen (verschiedene Versionen von Software, OS -Unterschiede) erzeugten Herausforderungen. Viele Entwickler verwenden diese immer noch, aber es ist Zeit zum Upgrade.

  3. Virtuelle Maschinen (Vagrant): Virtuelle Maschinen lieferten konsistente Entwicklungs- und Produktionsumgebungen, waren jedoch ressourcenintensiv und komplex zu verwalten.

  4. Docker: Docker bietet die Vorteile virtueller Maschinen ohne Overhead. Es verpackt die Anwendung und alle ihre Abhängigkeiten in Container, um die Konsistenz in den Umgebungen zu gewährleisten.

Docker -Vorteile gegenüber Vagrant:

Docker vermeidet den Ressourcenverbrauch und die Synchronisationsprobleme von Vagrant. Es ermöglicht mehrere Websites mit unterschiedlichen Konfigurationen (Apache, Nginx, verschiedene PHP -Versionen), die gleichzeitig ausgeführt werden und jeweils in seinem eigenen Container isoliert sind. Das Verschieben einer Website ist so einfach wie das Kopieren eines einzelnen Ordners.

Setting Up a Modern PHP Development Environment with Docker

Einrichten Ihrer Docker -Umgebung

Voraussetzungen:

Download und installieren Sie Docker. Installieren Sie unter Linux

und docker über den Paketmanager Ihrer Verteilung. Möglicherweise müssen Sie Ihren Benutzer zur docker-compose -Gruppe hinzufügen und den Docker -Dienst starten/aktivieren. Windows und MacOS -Installateure verarbeiten dies automatisch. Stoppen Sie vorhandene Webserver (Apache, Nginx usw.) oder MySQL -Instanzen, bevor Sie fortfahren. docker

Konfiguration (Docker-compose.yml):

Erstellen Sie einen Projektordner und eine

Datei: docker-compose.yml

<code class="language-yaml">version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/nginx.conf
      - ./app:/app
  php:
    build:
      context: .
      dockerfile: PHP.Dockerfile
    volumes:
      - ./app:/app
  mysql:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: 'secret'
      MYSQL_USER: 'tutorial'
      MYSQL_PASSWORD: 'secret'
      MYSQL_DATABASE: 'tutorial'
    volumes:
      - mysqldata:/var/lib/mysql
    ports:
      - 3306:3306
volumes:
  mysqldata: {}</code>

nginx -Konfiguration (nginx.conf):

erstellen

: nginx.conf

<code class="language-nginx">server {
    listen 80 default_server;
    root /app/public;
    index index.php index.html index.htm;
    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}</code>

php dockerfile (php.dockerFile):

erstellen

: PHP.Dockerfile

<code class="language-yaml">version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/nginx.conf
      - ./app:/app
  php:
    build:
      context: .
      dockerfile: PHP.Dockerfile
    volumes:
      - ./app:/app
  mysql:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: 'secret'
      MYSQL_USER: 'tutorial'
      MYSQL_PASSWORD: 'secret'
      MYSQL_DATABASE: 'tutorial'
    volumes:
      - mysqldata:/var/lib/mysql
    ports:
      - 3306:3306
volumes:
  mysqldata: {}</code>

Ausführen der Dienste:

Öffnen Sie ein Terminal in Ihrem Projektverzeichnis und führen Sie docker-compose up aus. Dies startet Nginx, PHP und Mariadb. Greifen Sie unter http://127.0.0.1 auf Ihre Website zu. Eine "Hallo, Welt!" Testseite in app/public/index.html bestätigt das Setup. Überprüfen Sie die PHP -Funktionalität mit einem phpinfo() -Skript in app/public/index.php. Verbindung zu MySQL mit einem Client wie MySQL Workbench.

Setting Up a Modern PHP Development Environment with Docker Setting Up a Modern PHP Development Environment with Docker

Bereitstellung: Laden Sie einfach Ihre Projektdateien (einschließlich docker-compose.yml, nginx.conf und PHP.Dockerfile) auf Ihren Server hoch und führen Sie docker-compose up -d für die nahtlose Bereitstellung aus.

FAQs: (Die bereitgestellten FAQs sind bereits gut strukturiert und können direkt enthalten sein.)

Diese überarbeitete Ausgabe behält die Originalbildpositionen und -formate bei gleicher Umformate des Textes für eine verbesserte Klarheit und Fluss, vermeiden Sie Plagiate.

Das obige ist der detaillierte Inhalt vonEinrichtung einer modernen PHP -Entwicklungsumgebung mit Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn