ServBay Konfigurationshandbuch für mehrere Umgebungen: PHP-Versionen in der Kommandozeile und Webdiensten verwalten
I. Kommandozeilenumgebung: Tiefgehende Anwendung von .servbay.config
Durch die projektspezifische Konfigurationsdatei .servbay.config
können Entwickler die PHP-Version in der Kommandozeilenumgebung präzise steuern und parallele Entwicklungen sowie Versionsisolierung für mehrere Projekte erreichen.
1. Kernfunktionen und Prinzipien
• Multiversionale Koexistenz: ServBay unterstützt nativ die vollständige Koexistenz aller Versionen von PHP 5.6 bis 8.5-dev, wobei jedes Projekt die benötigte Version über eine eigene Konfigurationsdatei festlegen kann.
• Invasive Umschaltung vermeiden: Bei der Ausführung von Befehlen erkennt ServBay automatisch die .servbay.config
im Projektverzeichnis, lädt dynamisch die entsprechende PHP-Umgebung und vermeidet Konflikte bei globalen Konfigurationen.
2. Konfigurationsmethoden
Erstellen Sie die Datei .servbay.config
im Projektstammverzeichnis und fügen Sie den folgenden Inhalt hinzu:
# Bestimmen der PHP-Version (Beispiel: PHP 8.5-dev)
PHP_VERSION=8.5
2
Gültigkeitsprüfung:
$ php -v # Die ausgegebene Version sollte 8.5 sein
$ composer install # Abhängigkeiten werden basierend auf der aktuellen PHP-Version aufgelöst
2
3. Fortgeschrittene Techniken und Einschränkungen
• Versionskompatibilitätsprüfung: Bei Fehlern wie "Class not found" muss die Kompatibilität der Abhängigkeiten mit der angegebenen PHP-Version überprüft werden (z. B. die entfernte mcrypt
-Erweiterung in PHP 8.x).
• Globale Standardwerte: Ohne Konfiguration wird die globale Standardversion von ServBay verwendet (kann in den Einstellungen von ServBay geändert werden).
• Koordination mehrerer Dienste: Kombinieren Sie die Node.js-Versionseinstellungen (NODE_VERSION=20
), um die Kontrolle über PHP + Node.js zu realisieren.
4. Beispiel für die Ausführung
Im Folgenden wird die Funktionsweise von .servbay.config
anhand eines konkreten Beispiels demonstriert.
II. Webdienstumgebung: Verwaltung mehrerer PHP-Versionen auf Website-Ebene
Die grafische Konfigurationsoberfläche von ServBay bietet die Möglichkeit, PHP-Versionen für Webdienste zu verwalten, unabhängig von der Kommandozeilenumgebung.
1. Konfigurationsablauf
Website hinzufügen/bearbeiten:
• Öffnen Sie ServBay und gehen Sie zum Tab Hosts (Websites).
• Klicken Sie auf +, um eine neue Website zu erstellen oder eine bestehende zu bearbeiten.
• Wählen Sie im Dropdown-Menü PHP-Version die gewünschte Version (z.B. 8.3, 8.5-dev usw.) aus.Pfad- und Domainbindung:
• Root-Verzeichnis: Geben Sie das public-Verzeichnis des Projekts an (z.B. Laravel/Applications/ServBay/www/laravel-app/public
).
• Domain: Legen Sie einen benutzerdefinierten Domainnamen fest (z.B.laravel.host
), unterstützt das automatische HTTPS-Zertifikat.
2. Technische Umsetzung und Optimierung
• Service-Isolation: Jede PHP-Version läuft in einem separaten Prozess, um Gedächtnislecks und zwischen den Versionen auftretende Verschmutzungen zu vermeiden.
• Leistungsoptimierung: Optimiert für ARM64/X86_64-Architekturen.
• Fehlerbehebung:
• Protokolle überprüfen: /Applications/ServBay/var/log/php/php_error.log
• Verwenden Sie servbayctl status php 8.5
, um den Prozessstatus anzuzeigen.
3. Erweiterung auf mehrere Server
• Unterstützung von Apache/Nginx/Caddy: In ServBay 1.7.0+ können Sie den Webserver wechseln.
• Datenbankverknüpfung: Kombinieren Sie mehrere Versionen von MySQL/MariaDB/PostgreSQL (z.B. Laravel-Projekt mit MariaDB 11.5).
III. Best Practices für die Zusammenarbeit über Umgebungen hinweg
Szenario | Kommandozeilenkonfiguration | Webdienstkonfiguration | |
---|---|---|---|
Legacy-System-Wartung | .servbay.config auf PHP 5.6 | Website-Konfiguration auf PHP 5.6 | |
Laravel 11 Entwicklung | Konfiguration von PHP 8.3 + Node 20 | Domainbindung und Aktivierung von HTTPS | |
Neuversionstest | Nutzung von PHP 8.5-dev | Zusammen mit Redis 7.x zur Cache-Optimierung |
Hinweise:
• Die PHP-Module in der Kommandozeile und im Webdienst können variieren (z. B. ist opcache
im CLI-Modus standardmäßig deaktiviert).
• Aktualisieren Sie das ServBay-Runtime auf 1.0.20/1.1.20+, um die neuesten PHP-Funktionen zu nutzen.
Durch das oben dargestellte Szenariomanagement können Entwickler die Mehrversionierungssteuerung von ServBay vollständig ausschöpfen und dabei sowohl die Flexibilität der Entwicklung als auch die Konsistenz in der Produktionsumgebung berücksichtigen.