Wie man PHP-Module kompiliert
Beim PHP-Entwickeln mit ServBay müssen Sie möglicherweise zusätzliche PHP-Module kompilieren und installieren, um die Funktionalität von PHP zu erweitern. Dieser Artikel beschreibt, wie man PHP-Module in der ServBay-Umgebung kompiliert, insbesondere die Module imagick
und sqlsrv
.
Voraussetzungen
Achtung
Bitte stellen Sie sicher, dass Sie die folgenden Anweisungen zur Initialisierung der Kompilierungsumgebung und zur Festlegung der Systemumgebungsvariablen genau befolgen, da sonst die folgenden Schritte fehlschlagen werden!
Bevor Sie mit der Kompilierung von PHP-Modulen beginnen, vergewissern Sie sich, dass Sie die Initialisierung der Kompilierungsumgebung abgeschlossen haben. Detaillierte Schritte zur Initialisierung der Kompilierungsumgebung finden Sie in der Dokumentation Zweidurchführung mit ServBay.
Bedeutung der Angabe der PHP-Version
ServBay wird mit mehreren PHP-Versionen ausgeliefert. Wenn Sie beim Kompilieren phpize
, php-config
und andere Werkzeuge verwenden, sollten Sie unbedingt die von Ihnen verwendete PHP-Version angeben. Dies liegt daran, dass unterschiedliche PHP-Versionen möglicherweise über unterschiedliche Konfigurationen und Abhängigkeiten verfügen. Die Auswahl der richtigen Version kann Kompilierungsfehler und Laufzeitprobleme vermeiden.
In diesem Beispiel verwenden wir PHP 8.3
.
Kompilierung des PHP imagick-Moduls
Das imagick
-Modul ist eine Erweiterung von PHP zur Bearbeitung von Bildmanipulationen. Hier sind die Schritte zur Kompilierung des imagick
-Moduls:
Schritt 1: Quellcode herunterladen
Laden Sie zunächst das Quellcodepaket des imagick
-Moduls von PECL herunter.
wget https://pecl.php.net/get/imagick-3.7.0.tgz
Schritt 2: Quellcode entpacken
Entpacken Sie das heruntergeladene Quellcodepaket.
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.0
2
Schritt 3: Konfigurationsdatei generieren
Verwenden Sie phpize
, um die Konfigurationsdatei zu generieren. Stellen Sie dabei sicher, dass Sie die von Ihnen verwendete PHP-Version angeben. Zum Beispiel, wenn Sie PHP 8.3 verwenden, führen Sie den folgenden Befehl aus:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Schritt 4: Kompilierungsoptionen konfigurieren
Konfigurieren Sie die Kompilierungsoptionen und geben Sie den Konfigurationspfad von PHP an.
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
Schritt 5: Kompilieren und installieren
Kompilieren und installieren Sie das imagick
-Modul.
make -j ${CPU_NUMBER}
make install
2
Schritt 6: Modul aktivieren
Erstellen Sie in dem conf.d
-Verzeichnis von PHP eine Datei namens imagick.ini
, um das imagick
-Modul zu aktivieren. Zum Beispiel:
echo "extension=imagick.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/imagick.ini
Schritt 7: Modul-Ladung überprüfen
Starten Sie den PHP-Dienst über das ServBay-Management-Panel neu und überprüfen Sie dann über die Befehlszeile, ob das Modul erfolgreich geladen wurde:
php-8.3 -m | grep imagick
Wenn das Modul erfolgreich geladen wurde, sollten Sie imagick
in der Ausgabe sehen.
Kompilierung des PHP sqlsrv-Moduls
Achtung
Voraussetzungen: Um sqlsrv unter macOS zu kompilieren, müssen Sie vorher den Microsoft ODBC-Treiber msodbcsql18
und mssql-tools18
installieren.
ServBay wird nicht mit MS ODBC ausgeliefert; verwenden Sie Homebrew zur Installation.
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18
2
3
Das sqlsrv
-Modul ist eine Erweiterung von PHP, die zur Interaktion mit Microsoft SQL Server dient. Hier sind die Schritte zur Kompilierung des sqlsrv
-Moduls:
Schritt 1: Quellcode herunterladen
Laden Sie zunächst das Quellcodepaket des sqlsrv
-Moduls von PECL herunter.
wget https://pecl.php.net/get/sqlsrv-5.12.0.tgz
Schritt 2: Quellcode entpacken
Entpacken Sie das heruntergeladene Quellcodepaket.
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
2
Schritt 3: Konfigurationsdatei generieren
Verwenden Sie phpize
, um die Konfigurationsdatei zu generieren. Stellen Sie sicher, dass Sie die von Ihnen verwendete PHP-Version angeben. Wenn Sie PHP 8.3 verwenden, führen Sie den folgenden Befehl aus:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Schritt 4: Kompilierungsoptionen konfigurieren
Konfigurieren Sie die Kompilierungsoptionen und geben Sie den Konfigurationspfad von PHP an.
export LDFLAGS="-L/opt/homebrew/lib ${LDFLAGS}"
export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include ${CPPFLAGS}"
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
2
3
Schritt 5: Kompilieren und installieren
Kompilieren und installieren Sie das sqlsrv
-Modul.
make -j ${CPU_NUMBER}
make install
2
Schritt 6: Modul aktivieren
Erstellen Sie im conf.d
-Verzeichnis von PHP eine Datei namens sqlsrv.ini
, um das sqlsrv
-Modul zu aktivieren. Zum Beispiel:
echo "extension=sqlsrv.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/sqlsrv.ini
Schritt 7: Modul-Ladung überprüfen
Starten Sie den PHP-Dienst über das ServBay-Management-Panel neu und überprüfen Sie dann über die Befehlszeile, ob das Modul erfolgreich geladen wurde:
php-8.3 -m | grep sqlsrv
Wenn das Modul erfolgreich geladen wurde, sollten Sie sqlsrv
in der Ausgabe sehen.
Zusammenfassung
Durch die oben genannten Schritte können Sie in der ServBay-Umgebung die benötigten PHP-Module kompilieren und installieren. Stellen Sie während des Kompilierungsprozesses sicher, dass Sie die richtige PHP-Version auswählen, um die Kompatibilität des Moduls mit Ihrer PHP-Umgebung zu gewährleisten. Wir hoffen, dass dieser Artikel Ihnen hilft, die Kompilierung und Aktivierung von PHP-Modulen erfolgreich abzuschließen.