


In der Welt der modernen Softwareentwicklung ist die Containerisierung zu einem Eckpfeiler für effiziente Bereitstellung und Skalierbarkeit geworden. Docker erleichtert das Packen von Anwendungen und ihren Abhängigkeiten in tragbare Container. In diesem Blog führen wir Sie durch die Erstellung einer Multi-Container-PHP- und MySQL-Anwendung mit Docker Compose.
Warum Docker für PHP und MySQL verwenden?
Konsistenz: Führen Sie Ihre App in allen Phasen der Entwicklung und Produktion in derselben Umgebung aus.
Isolation: Halten Sie Dienste wie PHP und MySQL in separaten Containern für modulare und wartbare Setups.
Einfache Skalierung: Fügen Sie Container einfach hinzu oder entfernen Sie sie, wenn die App wächst.
Projektstruktur
Ihr Projektverzeichnis sollte so aussehen:
project/ │ ├── php-app/ │ ├── Dockerfile │ └── index.php │ └── docker-compose.yml
Docker Compose-Datei
Hier ist die Datei docker-compose.yml:
version: '3.8' services: php-app: build: ./php-app # Builds the PHP app Docker image from the ./php-app directory ports: - "8080:80" # Maps port 8080 on the host to port 80 in the container depends_on: - mysql # Ensures MySQL starts before the PHP app mysql: image: mysql:8.0 # Uses the official MySQL image ports: - "3306:3306" # Maps port 3306 on the host to port 3306 in the container environment: MYSQL_ROOT_PASSWORD: root # Root password for MySQL MYSQL_DATABASE: mydb # Initial database to create volumes: - mysql-data:/var/lib/mysql # Persists MySQL data in a named volume volumes: mysql-data: # Declares a named volume for MySQL data persistence
PHP-Anwendungscode
Die Datei index.php stellt eine Verbindung zum MySQL-Container her:
<?php $servername = "mysql"; // Service name defined in docker-compose.yml $username = "root"; $password = "root"; $database = "mydb"; try { // Create connection $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password); // Set PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected to MySQL successfully!"; } catch (PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>
Dockerfile für PHP-App
Die Docker-Datei erstellt den PHP-Container mit den erforderlichen Abhängigkeiten:
# Use the official PHP image FROM php:8.2-apache # Install PDO MySQL extension RUN docker-php-ext-install pdo pdo_mysql # Set the working directory WORKDIR /var/www/html # Copy the application code COPY index.php . # Expose port 80 EXPOSE 80
Schritte zum Erstellen und Ausführen
Erstellen Sie die Verzeichnisstruktur
- Legen Sie Dockerfile und index.php im Ordner „php-app“ ab.
- Platzieren Sie docker-compose.yml im Stammprojektordner.
Container erstellen und starten Öffnen Sie ein Terminal im Projektverzeichnis und führen Sie Folgendes aus:
docker-compose up --build
Greifen Sie auf die PHP-Anwendung zu. Besuchen Sie http://localhost:8080 in Ihrem Browser. Wenn alles richtig eingerichtet ist, sollten Sie Folgendes sehen:
Connected to MySQL successfully!
Überprüfen Sie die MySQL-Datenbank
Verwenden Sie einen MySQL-Client oder MySQL Workbench.
Stellen Sie eine Verbindung zu localhost:3306 her mit:
Benutzername: root
Passwort: root
Überprüfen Sie, ob die Datenbank mydb erstellt wurde.
Hauptmerkmale dieses Setups
Service Dependency Management: depend_on stellt sicher, dass MySQL vor der PHP-Anwendung startet.
Datenpersistenz: Das mysql-data-Volume speichert MySQL-Daten und verhindert so Verluste bei Container-Neustarts.
Port-Zuordnung: Einfacher Zugriff auf Dienste über Ports, die dem Host-Computer zugeordnet sind.
Erweiterung des Setups
Fügen Sie der Compose-Datei weitere Dienste wie Nginx oder Redis hinzu.
Verwenden Sie .env-Dateien, um vertrauliche Konfigurationen zu verwalten.
Skalieren Sie Dienste mit der Skalierungsoption von Docker Compose für die horizontale Skalierung.
Abschluss
Mit diesem Setup haben Sie eine skalierbare, modulare PHP- und MySQL-Anwendung mit Docker Compose erstellt. Die Containerisierung vereinfacht die Umgebungsverwaltung und bereitet Ihre App auf Cloud-Bereitstellungen vor. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, Docker ist ein unverzichtbares Werkzeug für die moderne Anwendungsentwicklung.
Sind Sie bereit, Ihr Setup auf die nächste Stufe zu heben? Versuchen Sie, dies mit CI/CD-Pipelines oder Kubernetes für eine Produktionsumgebung zu integrieren.
Das obige ist der detaillierte Inhalt vonDockerisieren Sie Ihre PHP- und MySQL-Anwendung: Eine Schritt-für-Schritt-Anleitung für Multi-Container-Apps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PHP bleibt in der modernen Webentwicklung wichtig, insbesondere in Content-Management- und E-Commerce-Plattformen. 1) PHP hat ein reichhaltiges Ökosystem und eine starke Rahmenunterstützung wie Laravel und Symfony. 2) Die Leistungsoptimierung kann durch OPCACHE und NGINX erreicht werden. 3) Php8.0 führt den JIT -Compiler ein, um die Leistung zu verbessern. 4) Cloud-native Anwendungen werden über Docker und Kubernetes bereitgestellt, um die Flexibilität und Skalierbarkeit zu verbessern.

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

PHP bleibt ein leistungsstarkes und weit verbreitetes Tool in der modernen Programmierung, insbesondere im Bereich der Webentwicklung. 1) PHP ist einfach zu bedienen und nahtlos in Datenbanken integriert und für viele Entwickler die erste Wahl. 2) Es unterstützt die Erzeugung der dynamischen Inhalte und die objektorientierte Programmierung, die für die schnelle Erstellung und Wartung von Websites geeignet sind. 3) Die Leistung von PHP kann verbessert werden, indem Datenbankabfragen zwischengespeichert und optimiert werden, und die umfangreiche Community und sein reiches Ökosystem machen es im heutigen Technologiestack immer noch wichtig.

In PHP werden schwache Referenzen in der WeaPreference -Klasse implementiert und verhindern nicht, dass der Müllsammler Objekte zurückerobern. Schwache Referenzen eignen sich für Szenarien wie Caching -Systeme und Event -Hörer. Es ist zu beachten, dass es das Überleben von Objekten nicht garantieren kann und dass die Müllsammlung möglicherweise verzögert wird.

Mit der \ _ \ _ -Invoke -Methode können Objekte wie Funktionen bezeichnet werden. 1. Definieren Sie die Methode \ _ \ _, damit das Objekt aufgerufen werden kann. 2. Bei Verwendung der Syntax $ OBJ (...) wird PHP die Methode \ _ \ _ aufrufen. 3.. Geeignet für Szenarien wie Protokollierung und Taschenrechner, Verbesserung der Codeflexibilität und Lesbarkeit.


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

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.