Comment compiler des modules PHP
Lorsque vous développez en PHP avec ServBay, il se peut que vous ayez besoin de compiler et d'installer des modules PHP supplémentaires pour étendre les fonctionnalités de PHP. Cet article explique comment compiler des modules PHP dans l'environnement ServBay, en particulier les modules imagick
et sqlsrv
.
Conditions préalables
Attention
Veuillez suivre attentivement les instructions ci-dessous pour initialiser l’environnement de compilation et définir les variables d'environnement système, sinon les opérations suivantes échoueront !
Avant de commencer à compiler des modules PHP, assurez-vous d'avoir complété l'initialisation de l'environnement de compilation. Pour des étapes détaillées sur l'initialisation de l'environnement de compilation, veuillez consulter le document Compilation secondaire avec ServBay.
Importance de spécifier la version PHP
ServBay est livré avec plusieurs versions de PHP. Lorsque vous utilisez phpize
, php-config
et d'autres outils pour la compilation, il est essentiel de spécifier la version de PHP que vous utilisez. En effet, différentes versions de PHP peuvent avoir des configurations et des dépendances différentes. Choisir la bonne version peut éviter des erreurs de compilation et des problèmes d'exécution.
Cet exemple prend PHP 8.3
pour référence.
Compiler le module PHP imagick
Le module imagick
est une extension de PHP utilisée pour traiter des opérations d'image. Voici les étapes pour compiler le module imagick
:
Étape 1 : Télécharger le code source
Tout d'abord, téléchargez le package source du module imagick
à partir de PECL.
wget https://pecl.php.net/get/imagick-3.7.0.tgz
Étape 2 : Décompresser le package source
Décompressez le package source téléchargé.
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.0
2
Étape 3 : Générer le fichier de configuration
Utilisez phpize
pour générer le fichier de configuration. Au cours de ce processus, assurez-vous de spécifier la version de PHP que vous utilisez. Par exemple, si vous utilisez PHP 8.3, exécutez la commande suivante :
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Étape 4 : Configurer les options de compilation
Configurez les options de compilation, en spécifiant le chemin de configuration de PHP.
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
Étape 5 : Compiler et installer
Compilez et installez le module imagick
.
make -j ${CPU_NUMBER}
make install
2
Étape 6 : Activer le module
Créez un fichier imagick.ini
dans le répertoire conf.d
de PHP pour activer le module imagick
. Par exemple :
echo "extension=imagick.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/imagick.ini
Étape 7 : Vérifier le chargement du module
Redémarrez le service PHP via le panneau de gestion de ServBay, puis vérifiez en ligne de commande si le module a bien été chargé :
php-8.3 -m | grep imagick
Si le module a été chargé avec succès, vous devriez voir imagick
dans les résultats de sortie.
Compiler le module PHP sqlsrv
Attention
Conditions préalables : Pour compiler sqlsrv
sur macOS, vous devez d'abord installer le pilote ODBC de Microsoft msodbcsql18
et mssql-tools18
.
ServBay ne fournit pas le MS ODBC, veuillez utiliser homebrew pour l'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
Le module sqlsrv
est une extension de PHP utilisée pour interagir avec Microsoft SQL Server. Voici les étapes pour compiler le module sqlsrv
:
Étape 1 : Télécharger le code source
Tout d'abord, téléchargez le package source du module sqlsrv
à partir de PECL.
wget https://pecl.php.net/get/sqlsrv-5.12.0.tgz
Étape 2 : Décompresser le package source
Décompressez le package source téléchargé.
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
2
Étape 3 : Générer le fichier de configuration
Utilisez phpize
pour générer le fichier de configuration. Au cours de ce processus, assurez-vous de spécifier la version de PHP que vous utilisez. Par exemple, si vous utilisez PHP 8.3, exécutez la commande suivante :
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Étape 4 : Configurer les options de compilation
Configurez les options de compilation, en spécifiant le chemin de configuration de PHP.
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
Étape 5 : Compiler et installer
Compilez et installez le module sqlsrv
.
make -j ${CPU_NUMBER}
make install
2
Étape 6 : Activer le module
Créez un fichier sqlsrv.ini
dans le répertoire conf.d
de PHP pour activer le module sqlsrv
. Par exemple :
echo "extension=sqlsrv.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/sqlsrv.ini
Étape 7 : Vérifier le chargement du module
Redémarrez le service PHP via le panneau de gestion de ServBay, puis vérifiez en ligne de commande si le module a bien été chargé :
php-8.3 -m | grep sqlsrv
Si le module a été chargé avec succès, vous devriez voir sqlsrv
dans les résultats de sortie.
Résumé
Grâce aux étapes ci-dessus, vous pouvez compiler et installer les modules PHP nécessaires dans l'environnement ServBay. Durant le processus de compilation, assurez-vous de spécifier la bonne version de PHP afin de garantir la compatibilité des modules avec votre environnement PHP. Nous espérons que cet article vous aidera à compléter sans problème la compilation et l'activation de vos modules PHP.