Heim >Technologie-Peripheriegeräte >IT Industrie >Einrichtung einer modernen PHP -Entwicklungsumgebung mit Docker
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.
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:
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.
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.
Virtuelle Maschinen (Vagrant): Virtuelle Maschinen lieferten konsistente Entwicklungs- und Produktionsumgebungen, waren jedoch ressourcenintensiv und komplex zu verwalten.
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.
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.
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!