So laden Sie Drittanbieter-PHP-Erweiterungen in ServBay
ServBay kommt bereits mit einer Liste gängiger PHP-Erweiterungsmodule für die Benutzer, die nur in den Einstellungen von ServBay unter Sprache
-PHP-Version
-Erweiterungen
konfiguriert und aktiviert werden müssen.
Manchmal müssen Benutzer jedoch Module laden, die nicht in ServBay enthalten sind. In diesem Artikel wird erläutert, wie dieser Prozess durchgeführt wird.
ServBay ermöglicht es den Benutzern, flexibel Drittanbietererweiterungen für ihre verwalteten PHP-Umgebungen zu laden. Dieses Dokument verwendet ionCube Loader als Beispiel und führt Sie durch den gesamten Vorgang. Dieser Prozess ist auch hilfreich für das Laden anderer Zend-Erweiterungen oder selbst kompilierten PHP-Erweiterungen (.so
Dateien).
Hinweis: Der ionCube Loader ist eine Zend-Erweiterung, daher muss beim Konfigurieren der Befehl zend_extension
anstelle von extension
verwendet werden.
Voraussetzungen
- Sie haben ServBay installiert und ausgeführt.
- Sie haben Administratorrechte und Zugriff auf Systemdateien sowie die ServBay-Konfigurationsoberfläche.
- Sie sind mit der Verwendung der Terminalanwendung (Terminal) unter macOS vertraut.
Achtung
ServBay bietet native PHP-Pakete sowohl für Intel- als auch für Silicon (M1/M2/M3/M4) Chips an. Stellen Sie beim Laden von so
-Dateien sicher, dass das von Ihnen geladene so
-Dateiformat mit dem Package-Format von ServBay übereinstimmt.
Dateien unterschiedlicher Architekturen dürfen nicht gemischt werden. Eine inkonsistente Architektur kann zu einem PHP-Absturz führen.
- Bestimmen Sie die Architektur des mit ServBay gelieferten PHP-Pakets:
file /Applications/ServBay/package/php/8.3/current/bin/php
Die Ausgabe könnte ähnlich sein:
php: Mach-O 64-bit executable arm64 # Silicon Arm64-Architektur
php: Mach-O 64-bit executable x86_64 # Intel x86-Architektur
2
- Bestimmen Sie die Architektur der zu installierenden
so
-Datei:
file xdebug.so
Die Ausgabe könnte ähnlich sein:
xdebug.so: Mach-O 64-bit bundle arm64 # Silicon Arm64-Architektur
xdebug.so: Mach-O 64-bit bundle x86_64 # Intel x86-Architektur
2
Schritte
Schritt 1: ionCube Loader herunterladen
- Besuchen Sie die offizielle Download-Seite von ionCube Loader. Für macOS ARM64 (Apple Silicon M-Serie Chips) laden Sie die Darwin ARM64-Version herunter. Sie können den folgenden Link direkt verwenden (bitte überprüfen Sie, ob es eine aktualisierte Version gibt): https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz
- Nach dem Download erhalten Sie eine komprimierte
.tar.gz
Datei, beispielsweiseioncube_loaders_dar_arm64.tar.gz
.
Schritt 2: Ziel-PHP-Version und Erweiterungsverzeichnis bestimmen
Öffnen Sie die ServBay-Anwendung.
Klicken Sie im linken Navigationsbereich auf Sprachen.
Suchen Sie in der Liste auf der rechten Seite die PHP-Version, für die Sie den ionCube Loader installieren möchten (in diesem Beispiel PHP 8.3). Notieren Sie sich diese Versionsnummer.
PHP-Erweiterungen von ServBay werden normalerweise an einem bestimmten Ort gespeichert. Je nach Standardinstallationsstruktur von ServBay und Screenshotbeispielen könnte das Erweiterungsverzeichnis von PHP 8.3 etwa so aussehen:
/Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
/Applications/ServBay/package/php/
ist der Basispfad für das ServBay-PHP-Paket.8.3/
ist das Hauptversionsverzeichnis.8.3.16/
ist das spezifische PHP-Versionsverzeichnis (bitte je nach Ihrer installierten Version anpassen).lib/php/extensions/
ist das übergeordnete Verzeichnis für Erweiterungen.no-debug-non-zts-xxxxxxxx/
ist das Verzeichnis für spezifische API-Versionen und Kompilierungsoptionen (der Name dieses Verzeichnisses ändert sich mit der PHP-Version).
Wichtig: Sie müssen den exakten Pfad basierend auf Ihrer tatsächlich installierten PHP-Version und Architektur in ServBay bestimmen finden. Sie können auch den Terminalbefehl verwenden (stellen Sie sicher, dass Sie den von ServBay verwalteten PHP-Pfad verwenden):
bash/Applications/ServBay/package/php/8.3/current/bin/php -i | grep extension_dir
1Ersetzen Sie
/Applications/ServBay/package/php/8.3/current/bin/php
durch den tatsächlichen Pfad der ausführbarenphp
-Datei Ihrer Ziel-PHP-Version. Die Ausgabe des Befehls zeigtextension_dir => /path/to/extension/directory
.
Schritt 3: Loader-Dateien entpacken und platzieren
- Öffnen Sie die Terminalanwendung (Terminal).
- Verwenden Sie den Befehl
cd
, um in das Verzeichnis zu navigieren, in das Sie die.tar.gz
Datei heruntergeladen haben (in der Regel ist dies das VerzeichnisDownloads
).bashcd ~/Downloads
1 - Entpacken Sie die heruntergeladene Datei:bashDadurch wird ein Verzeichnis mit dem Namen
tar -zxvf ioncube_loaders_dar_arm64.tar.gz
1ioncube
erstellt. - Wechseln Sie in das
ioncube
Verzeichnis:bashcd ioncube
1 - In diesem Verzeichnis sehen Sie die entsprechenden
.so
-Dateien für verschiedene PHP-Versionen, z. B.ioncube_loader_dar_8.3.so
. Finden Sie die Datei, die mit Ihrer Ziel-PHP-Version (z. B. 8.3, wie in Schritt 2 ermittelt) übereinstimmt. - Kopieren Sie diese passende
.so
-Datei in das PHP-Erweiterungsverzeichnis, das Sie in Schritt 2 bestimmt haben. Angenommen, das Zielverzeichnis ist der zuvor示示示te Pfad und Sie möchten den Loader für PHP 8.3 installieren:bashcp ioncube_loader_dar_8.3.so /Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
1- Stellen Sie sicher, dass Sie den Zielpfad durch den tatsächlichen Erweiterungsverzeichnispfad Ihrer PHP-Version ersetzen.
- Achten Sie darauf, die .so-Datei zu kopieren, die genau mit der PHP-Version übereinstimmt.
Schritt 4: PHP in ServBay konfigurieren
Kehren Sie zur Benutzeroberfläche der ServBay-Anwendung zurück.
Stellen Sie sicher, dass auf der linken Seite Sprachen ausgewählt ist, und klicken Sie dann in der Liste auf der rechten Seite auf die PHP-Version, die Sie konfigurieren möchten (z. B. PHP 8.3).
Klicken Sie im konfigurierten Bereich auf der rechten Seite auf die Registerkarte PHP (wie im Bild unten durch Pfeil 1 angezeigt).
Scrollen Sie nach unten, um das Textfeld Zusätzliche Parameter zu finden.
Fügen Sie in diesem Textfeld die folgende Zeile hinzu (wie im Bild unten durch Pfeil 2 angezeigt), um den relativen Pfad zur ionCube Loader-Datei anzugeben:
inizend_extension = ioncube_loader_dar_8.3.so
1- Erneut betont: Die
so
-Datei muss strikt imextension_dir
-Pfad aus Schritt 3 platziert werden. Bitte sorgfältig überprüfen. - Verwenden Sie
zend_extension
anstelle vonextension
, da der ionCube Loader eine Zend-Erweiterung ist. - Wenn in diesem Textfeld bereits andere Konfigurationen vorhanden sind, fügen Sie diesen Befehl in eine neue Zeile ein.
- Erneut betont: Die
Klicken Sie auf die Schaltfläche Speichern in der unteren rechten Ecke, um die Konfiguration zu speichern.
Schritt 5: PHP-Dienst neu starten
Nachdem Sie die Schaltfläche Speichern gedrückt haben, wird der PHP-Dienst von ServBay automatisch neu gestartet.
Schritt 6: Überprüfen, ob das Laden erfolgreich war
Es gibt zwei Möglichkeiten, um zu überprüfen, ob der ionCube Loader erfolgreich geladen wurde:
Über die Befehlszeile:
Öffnen Sie das Terminal.
Führen Sie den folgenden Befehl aus (stellen Sie sicher, dass Sie den vollständigen Pfad zur Ziel-PHP-Version verwenden):
bash/Applications/ServBay/package/php/8.3/current/bin/php -m | grep -i ioncube
1Wenn das Laden erfolgreich war, sollten Sie eine Ausgabe wie
ionCube Loader
sehen.Sie können auch
php -v
ausführen, um die Versionsinformationen anzuzeigen. In der Regel wird bei geladenem ionCube entsprechende Informationen angezeigt:bash/Applications/ServBay/package/php/8.3/current/bin/php -v
1Beispielausgabe:
PHP 8.3.16 (cli) (built: Jan 31 2025 15:09:39) (NTS) Copyright (c) Die PHP-Gruppe Zend Engine v4.3.16, Copyright (c) Zend-Technologien mit dem ionCube PHP Loader v14.4.0, Copyright (c) 2002-2024, von ionCube Ltd.
1
2
3
4
Über phpinfo():
- Erstellen Sie eine PHP-Datei mit dem Inhalt
<?php phpinfo(); ?>
(z. B.info.php
) und platzieren Sie diese im Stammverzeichnis Ihrer Website. - Greifen Sie über den Browser auf diese Datei zu (z. B.
http://your-local-site.test/info.php
). - Suchen Sie auf der
phpinfo()
-Ausgabeseite nach "ionCube". Wenn das Laden erfolgreich war, sehen Sie einen speziellen Informationsblock für den ionCube Loader, der Versionsdetails usw. anzeigt.
- Erstellen Sie eine PHP-Datei mit dem Inhalt
Fazit
Mit den obigen Schritten sollten Sie in der Lage sein, den ionCube Loader oder andere Drittanbieter-PHP-Erweiterungen erfolgreich für die von ServBay verwaltete spezifische PHP-Version zu laden. Der Schlüssel liegt darin, die richtigen Erweiterungsdateien zu finden, den richtigen PHP-Erweiterungspfad zu bestimmen und die korrekten Anweisungen (zend_extension
oder extension
) in der ServBay-Konfiguration hinzuzufügen. Wenn Probleme auftreten, überprüfen Sie sorgfältig den Pfad, die Dateiberechtigungen und ob Sie den PHP-Dienst neu gestartet haben.