Dieser Artikel wurde von composerTutorial-Kolumne geschrieben, um vorzustellen, wie man Docker-Composer zum Erstellen einer einfachen Nginx + PHP-Umgebung verwendet. Ich hoffe, dass er Freunden in Not hilfreich sein wird!
Verzeichnisstruktur
➜ Study tree ├── conf ├── docker-compose.yaml ├── nginx │ ├── conf │ │ └── laravel.conf │ └── html │ └── index.php
index.php
<?php /** * Created by OrangBus * User email: orangbus40400@gmail.com * website: orangbus.cn * blog: doc.orangbus.cn * github: github.com/orangbus */echo phpinfo();
nginx.conf
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass php8:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name; include fastcgi_params; }}
Wichtige Hinweise
fastcgi_pass php8:9000;
php8: Der Name des PHP-Containers, wenn Sie möchten mehrere PHP-Versionen, Ich brauche nur Kopieren Sie einfach die PHP-Konfiguration und geben Sie den entsprechenden PHP-Containernamen ein.
php8: # php的容器名称 image: php:8.0-fpm restart: always volumes: - ./nginx/html:/html-------------------------------- php74: # 对应的nginx配置文件为:fastcgi_pass php74:9000; image: php:8.0-fpm restart: always volumes: - ./nginx/html:/html
fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name;
/html: Das PHP-Projekt wird dem [PHP-Containerverzeichnis] (rot) zugeordnet Punkt:
./nginx/html: Ihre PHP-Projektadresse auf diesem Computer
/usr/share/nginx/html: Nginx-StandardzugriffsadresseHinweis 2:
./nginx/html : Ihre lokale PHP-Projektadresse
/html: Die Adresse hier ordnet Ihren lokalen PHP-Code dem PHP-Container zu. Es ist im Allgemeinen dieselbe Adresse wie Ihre Nginx-Konfiguration (rot)Tipp: Bitte achten Sie auf die Beziehung zwischen die beiden roten Bereiche Auf diese Weise wird eine einfache Nginx + PHP-bezogene Umgebung erfolgreich konfiguriert.
Anleitung zur Vermeidung von Fallstricken:
Bei Verwendung von
ist der mit dem Container verbundene benutzerdefinierte Port ungültig, z. B.version: '3.5'services:
nginx:
image: nginx:latest restart: always ports:
- 8010:80
volumes:
- ./nginx/html/:/usr/share/nginx/html # 注意点一
- ./nginx/conf/:/etc/nginx/conf.d/ links:
- php8 php8:
image: php:8.0-fpm restart: always volumes:
- ./nginx/html:/html #注意点二
Das obige ist der detaillierte Inhalt vonDocker-Composer erstellt schnell eine Nginx+PHP-Umgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Composer ist ein PHP -Abhängigkeits -Management -Tool, das Projektabhängigkeiten über Composer.json -Datei verwaltet. 1. Installieren Sie den Komponisten: Führen Sie mehrere Befehle aus und verschieben Sie sie auf den globalen Pfad. 2. Konfigurieren Sie Composer: Composer.json -Datei im Projektroot -Verzeichnis erstellen und CompoSerinstall führen. 3. Abhängigkeitsverwaltung: Geben Sie die Bibliothek und ihre Version über Composer.json an und verwenden Sie die Steuerung der semantischen Versionsnummer. V. 5. Paketverwaltung: Unterstützt die Privatbibliotheksmanagement und definiert die Adresse der Privatbibliothek über das Feld Repositories

Bei der Entwicklung von PHP -Projekten müssen wir häufig die Ausführungszeit des Codes überwachen, um die Leistung zu optimieren. In einem meiner jüngsten Projekte stieß ich auf ein Problem: Ich musste genau das Timing zwischen verschiedenen Codesegmenten durchführen, aber es ist nicht nur langweilig, den Timer zu implementieren, sondern auch fehleranfällig. Nach einigen Erkundungen entdeckte ich die Bibliothek Phpunit/Php-Timer, die leicht durch Komponist integriert werden kann und meine Arbeit erheblich vereinfacht.

Das Versionsmanagement war ein schwieriges Problem während der Entwicklung, insbesondere im Umgang mit Paketabhängigkeiten. Vor kurzem habe ich in meinem Projekt auf ein Problem mit der Versionskontrolle gestoßen: Ich muss Versionsinformationen verschiedener Pakete genau verwalten und vergleichen, um sicherzustellen, dass das Projekt korrekt von und aktualisieren kann. Ich habe verschiedene Methoden ausprobiert, aber die Ergebnisse waren nicht zufriedenstellend. Schließlich fand ich die Bibliothek Phar-IO/Version, die mein Problem perfekt löste.

Bei der Entwicklung eines Projekts muss ich häufig einige Funktionen neuer Versionen von PHP verwenden, aber manchmal muss ich aufgrund der Einschränkungen der Serverumgebung niedrigere Versionen von PHP verwenden. Dies führt dazu, dass ich einige neue Funktionen nicht verwenden kann, wie z.

Bei der Entwicklung eines PHP -Projekts ist das Zählen der Anzahl der Codezeilen eine häufigste Anforderung, insbesondere bei der Bewertung der Projektgröße oder der Durchführung von Codeüberprüfungen. Manuelle Statistiken sind jedoch nicht nur zeitaufwändig und fehleranfällig. Vor kurzem habe ich diese Anforderung in meinem Projekt gestoßen. Nachdem ich mehrere Methoden ausprobiert hatte, installierte ich schließlich die Sebastian/Lines-of-Code-Bibliothek über Komponist, was dieses Problem leicht löste.

Bei der Entwicklung von PHP -Projekten stoßen Sie häufig auf das Problem, dass einige Funktionen oder Methoden zu lange ausgeführt wurden, was zu einer Programmabteilung führt. Ich habe mehrere Lösungen ausprobiert, aber die Ergebnisse sind nicht zufriedenstellend, bis ich die Phpunit/Php-Invoker-Bibliothek entdeckt habe. Diese Bibliothek löste mein Problem vollständig, indem sie die Zeitüberschreitungszeit für die Anrufe der ausführbaren Funktion festgelegt hat.

Bei der Entwicklung eines Dateiverarbeitungssystems stieß ich auf ein kniffliges Problem: So erfassen Sie den MIME -Typ einer Datei genau. Zunächst habe ich versucht, die integrierten Funktionen von PHP zu verwenden, MIME_CONTENT_TYPE () und FINFO-Klassen, stellte jedoch fest, dass diese Methoden bei der Verarbeitung bestimmter Sonderdateien nicht stabil genug waren, was dazu führte, dass das System den Dateityp falsch anschätzt und die Benutzererfahrung beeinflusste. Nach einiger Exploration fand ich die Bibliotheks League/MIME-Typ-Erkennung, die die perfekte Lösung für mein Projekt brachte.

In der Projektentwicklung stieß ich auf ein gemeinsames, aber schwieriges Problem: Wie man Sammlungsdaten effizient verwaltet und manipuliert. Ich habe mehrere Methoden ausprobiert, aber ich habe immer das Gefühl, dass es beim Umgang mit komplexen Datenstrukturen nicht flexibel und effizient genug ist. Später entdeckte ich die Ramsey/Collection -Bibliothek, die meine Entwicklungserfahrung vollständig veränderte.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver Mac
Visuelle Webentwicklungstools