ServBay PHP-Versionsmanagement: Leitfaden für Kommandozeile & Website-Umgebung
ServBay ist ein leistungsstarkes Tool für lokale Webentwicklung, speziell für macOS, das verschiedenste Programmiersprachen und Datenbanken unterstützt. In diesem Artikel erfahren Sie ausführlich, wie Sie in ServBay für unterschiedliche Projekte flexibel verschiedene PHP-Versionen verwalten – sowohl für die Kommandozeile als auch für einzelne Websites. Durch das Verständnis des ServBay-PHP-Versionsmanagements optimieren Sie Ihre Entwicklungseffizienz und gewährleisten die Trennung und Stabilität Ihrer Projektumgebungen.
1. Kommandozeilen-Umgebung: Projektbezogenes PHP mit .servbay.config
verwalten
Indem Sie im Projektstammverzeichnis eine .servbay.config
-Datei anlegen, können Entwickler für jedes Projekt eine eigene PHP-Version für die Shell vordefinieren. ServBay erkennt automatisch das jeweilige Verzeichnis im Terminal und lädt die entsprechende PHP-Umgebung – das sorgt für eine reibungslose Versionstrennung ohne globale Konflikte.
1. Zweck und Funktionsweise von .servbay.config
- Projektbasiertes Versionsmanagement: ServBay unterstützt die parallele Installation und Ausführung verschiedener PHP-Versionen – von PHP 5.6 bis hin zu aktuellen Stable- und Entwicklungs-Versionen. Mithilfe der
.servbay.config
legen Sie pro Projekt exakt fest, welche PHP-Version verwendet werden soll. - Nahtloses Umschalten: Sobald Sie im Terminal mittels
cd
in ein Verzeichnis mit.servbay.config
wechseln, erkennt ServBay diese Datei und passt die Umgebungsvariablen (vor allemPATH
) der aktuellen Terminalsitzung temporär an. So zeigen Befehle wiephp
odercomposer
auf die gewünschte PHP-Version. Verlassen Sie das Verzeichnis wieder, stellt ServBay automatisch die globale Standardkonfiguration wieder her – ganz ohne Risiko für Ihr Gesamtsystem.
2. Konfiguration
Erstellen Sie im Stammverzeichnis Ihres Projekts eine Datei namens .servbay.config
und tragen Sie beispielsweise Folgendes ein, um Ihre PHP-Version festzulegen:
# Legt fest, welche PHP-Version für dieses Projekt verwendet wird (Beispiel: PHP 8.3)
PHP_VERSION=8.3
# Falls Ihr Projekt auch eine bestimmte Node.js-Version benötigt, können Sie diese ebenfalls angeben (Beispiel: Node.js 20)
# NODE_VERSION=20
2
3
4
5
- Der Wert von
PHP_VERSION
sollte dem PHP-Versionskürzel entsprechen, das Sie bereits in ServBay installiert und aktiviert haben (z. B.7.4
,8.1
,8.3
,8.5
usw.). - Die Angabe von
NODE_VERSION
funktioniert analog und gibt die zu verwendende Node.js-Version für das Projekt an.
Überprüfung der Aktivierung:
Öffnen Sie ein Terminal im Projektverzeichnis mit .servbay.config
und führen Sie folgende Befehle aus:
$ pwd # Sicherstellen, dass Sie sich im Projektstamm befinden
$ php -v # Überprüfen, ob die konfigurierte PHP-Version aktiv ist (z. B.: PHP 8.3.x)
$ composer install # Abhängigkeitsmanagement erfolgt mit der aktuell aktivierten PHP-Version
2
3
Sollte der Versionswechsel nach Ändern der .servbay.config
nicht greifen, schließen Sie das Terminal und öffnen es erneut – oder führen Sie cd .
aus, um ServBay zur Neuladung der Konfiguration zu zwingen.
3. Hinweise und Profi-Tipps
- Versionskompatibilität: Bei Fehlermeldungen wie „Class not found“ oder „Call to undefined function“ prüfen Sie zuerst, ob die vom Projekt (z.B. via
composer.json
) geforderte PHP-Version passt, und stellen Sie sicher, dass Sie eine passende PHP-Version gewählt haben. Ältere Projekte nutzen mitunter Funktionen oder Erweiterungen, die in neuen PHP-Versionen entfernt wurden (bspw. wurde diemcrypt
-Extension ab PHP 7.2 entfernt). - Globale Standardwerte: Fehlt eine
.servbay.config
im aktuellen oder übergeordneten Verzeichnis, verwendet ServBay die in den globalen Einstellungen der GUI definierte PHP-Standardversion. - Koordination mehrerer Services: Mit
.servbay.config
lässt sich nicht nur die PHP-Version, sondern auch die Node.js-Version (überNODE_VERSION
) verwalten – sehr hilfreich für Projekte, die PHP im Backend und Node.js-Buildtools (wie Webpack oder Vite) im Frontend kombinieren.
4. Beispiel für den praktischen Einsatz
Hier sehen Sie, wie Sie per .servbay.config
das automatische Umschalten der PHP-Version zwischen verschiedenen Projekten demonstrieren:
Abbildung: In ServBay erkennt das Terminal beim Wechsel in verschiedene Verzeichnisse mit unterschiedlichen
.servbay.config
-Dateien jeweils die angegebene PHP-Version automatisch über php -v
.
2. Website-Umgebung: PHP-Versionen über das ServBay-GUI verwalten
Die ServBay-GUI bietet einen komfortablen Weg, für jede Website eine eigene PHP-Version zu definieren. Das Website-PHP läuft dabei völlig unabhängig von der CLI-Umgebung, sodass Sie für jede Webpräsenz gezielt die benötigte Konfiguration wählen.
1. So funktioniert die Konfiguration
- ServBay öffnen: Starten Sie die ServBay-App.
- Websites verwalten: Klicken Sie im linken Navigationsbereich der Hauptoberfläche auf Websites.
- Website hinzufügen/bearbeiten:
- Mit einem Klick auf das + unten links legen Sie eine neue Website an.
- Vorhandene Website-Einträge lassen sich bearbeiten.
- Websitedetails einstellen:
- Root Directory (Website-Stammordner): Geben Sie das Verzeichnis Ihrer Website an. Es empfiehlt sich, ein Unterverzeichnis des Standardpfads
/Applications/ServBay/www/
zu wählen, etwa/Applications/ServBay/www/ihr-webseitenname/public
(z.B. für Laravel oder Symfony). - Domain (Domainname): Legen Sie die lokale Entwicklungsdomain fest, z.B.
ihr-webseitenname.servbay.demo
. ServBay konfiguriert automatisch die lokale DNS-Auflösung und ein HTTPS-Zertifikat (über die eigene User CA oder öffentliche CA) für diese Domain – das erleichtert Entwicklung und Tests erheblich. - PHP Version (PHP-Version): Wählen Sie im Dropdown-Menü die gewünschte PHP-Version für diese Website. Angezeigt werden alle in ServBay installierten und aktivierten Versionen (z.B. 7.4, 8.1, 8.3, 8.5 usw.).
- Root Directory (Website-Stammordner): Geben Sie das Verzeichnis Ihrer Website an. Es empfiehlt sich, ein Unterverzeichnis des Standardpfads
- Speichern: Nach Abschluss der Konfiguration speichern Sie. ServBay übernimmt die Änderungen automatisch – ggf. durch (Neu-)Start der passenden Webserver- und PHP-FPM-Prozesse.
2. Technische Details & Vorteile
- Service-Isolation: Jeder Website wird eine eigene PHP-Version über einen separaten PHP-FPM-Pool zugewiesen. Dadurch bleibt die PHP-Umgebung einzelner Websites vollständig voneinander isoliert – Fehler oder Memory-Leaks einer Website beeinträchtigen keine anderen Projekte.
- Leistungsoptimierung: Die ServBay-Pakete (inklusive sämtlicher PHP-Versionen) sind für ARM64 (Apple Silicon) wie auch X86_64-Systeme optimiert, damit Sie auf jeder Hardware gute Performance erhalten.
- Fehlerdiagnose:
- PHP-Fehlerprotokoll einsehen: Laufende PHP-Fehler finden Sie unter
/Applications/ServBay/var/log/php/php_error.log
. - PHP-FPM-Prozessstatus prüfen: Mit dem Kommandozeilentool
servbayctl
überprüfen Sie die laufenden PHP-Versionen, z.B.servbayctl status php 8.3
.
- PHP-Fehlerprotokoll einsehen: Laufende PHP-Fehler finden Sie unter
3. Webserver- & Datenbankintegration
ServBay bietet höchste Flexibilität: Sie können zu jedem Projekt passenden Webserver und Datenbank wählen:
- Webserver-Kompatibilität: Ab ServBay-Version 1.7.0 lassen sich Apache, Nginx und Caddy direkt zuweisen – der jeweilige Webserver integriert sich nahtlos mit dem entsprechenden PHP-FPM.
- Datenbankvielfalt: ServBay ermöglicht die parallele Installation und Verwaltung mehrerer Versionen von MySQL, MariaDB, PostgreSQL, MongoDB oder Redis. Sie können so jeder Website gezielt eine gewünschte Datenbankinstanz zuweisen und Projekte bedienen, die speziellere Versionen oder Datenbanktypen benötigen (z.B. Laravel-Projekte mit MariaDB 11.x).
3. Zusammenarbeit & Best Practices über Umgebungen hinweg
Ein klares Verständnis von getrennten CLI- und Website-PHP-Konfigurationen in ServBay hilft Ihnen, je nach Szenario optimal zu entscheiden:
Szenario | CLI-Konfiguration (.servbay.config ) | Website-Einstellung (ServBay GUI) | Hinweise |
---|---|---|---|
Legacy-Systeme warten | Im Projektverzeichnis PHP_VERSION=5.6 | In der Website-Einstellung PHP 5.6 auswählen | Stellen Sie sicher, dass alle benötigten PHP-Erweiterungen installiert sind. |
Neue Projekte (z.B. Laravel 11) | PHP_VERSION=8.3 (oder höher), ggf. NODE_VERSION=20 | Neue Website mit public -Ordner als Stamm, PHP 8.3+, Dev-Domain und HTTPS | CLI-Tools (Composer, Artisan, Node-Buildtools) und Webumgebung sollten dieselbe PHP-Version nutzen. |
Zukunfts-PHP-Version testen | Im Testprojektstamm PHP_VERSION=8.5 | Testwebsite mit PHP 8.5 | Nützlich zum frühzeitigen Testen der Kompatibilität mit kommenden PHP-Versionen. |
Composer-Befehle ausführen | .servbay.config im (übergeordneten) Verzeichnis setzen | N/A (Composer wird in der Shell ausgeführt) | Composer nutzt stets die in der aktuellen Terminalsitzung aktivierte PHP-Version. |
Hinweise
- Unterschiede zwischen CLI & Web-Umgebung: Selbst wenn Sie identische PHP-Versionen nutzen, kann die Standardkonfiguration (inkl. der geladenen Erweiterungen) für CLI und PHP-FPM unterschiedlich sein. Zum Beispiel ist das
opcache
-Modul meist im PHP-FPM standardmäßig aktiv (Performance), während es in der CLI vor allem zu Entwicklungszwecken oft deaktiviert bleibt. Stellen Sie bei Abweichungen sicher, dass Sie die korrektenphp.ini
-Dateien sowie die geladenen Extensions prüfen – jede PHP-Version wird in ServBay separat und individuell konfiguriert. - Aktualität von ServBay Runtime: Achten Sie darauf, dass Ihre ServBay-App immer auf dem aktuellen Stand (inklusive Runtime) ist. Die ServBay-Entwickler liefern regelmäßige Updates für Programme, Sprachen und Sicherheits-Patches aus. Ein Update der App bringt automatisch den neuesten Runtime-Stand.
Häufig gestellte Fragen (FAQ)
F: Was tun bei Konflikten zwischen PHP-Versionen in Kommandozeile und Website?
A: Die Konfiguration der PHP-Version für die Kommandozeile (über .servbay.config
) ist unabhängig von der Website-Konfiguration im ServBay-GUI. Die .servbay.config
wirkt nur auf das Terminal und steuert, welche Version die PHP-Befehle (php
, composer
usw.) nutzen. Die Website-PHP-Version bestimmt dagegen, welche Version der Webserver (Apache/Nginx/Caddy) via PHP-FPM für Webrequests verwendet. Ein direkter Konflikt ist ausgeschlossen. Sie können theoretisch für dasselbe Projekt verschiedene PHP-Versionen für CLI und Web wählen, empfehlen aber, zur Konsistenz dieselbe Version für beide Umgebungen zu nutzen.
Fazit
Mit .servbay.config
und der intuitiven grafischen Oberfläche liefert ServBay Entwicklern ein äußerst flexibles Werkzeug zur PHP-Versionsverwaltung. Ganz egal, ob es um die Wartung älterer legacy-basierter Systeme oder um die Entwicklung moderner, auf aktuellem PHP fußender Anwendungen geht: ServBay ermöglicht es Ihnen, Ihre lokale Entwicklungsumgebung bestmöglich an Ihre Produktionsanforderungen anzugleichen und steigert Ihre Effizienz und Stabilität bei jedem Projekt.