Installer un module PHP supplémentaire

Il existe de nombreuses extensions disponibles pou PHP. Mais celle-ci ne sont pas forcément installées par défaut. Aussi est il nécessaire de pouvoir les installer postérieurement à l'installation principale du serveur PHP comme décrite dans l'article intitulé "Créer un serveur PHP".

L'installation d'une extension PHP se fait en deux temps : d'abord il faut installer l'extension sous Rasbian, puis ensuite modifier le fichier php.ini pour configurer cette extension.

Exemple d'installation d'une extension : gd 

Parmi les extensions disponibles, l'une des plus intéressantes et des plus amusantes à utiliser est l'extension gd (Graphic Draw). Cette extension permet de générer et de manipuler des images par programmation. La documentation de cette extension est disponible à l'adresse : http://php.net/manual/fr/book.image.php.

Installation de l'extension gd sous Rasbian

L'installation de gd sous Rasbian se fait de façon standard en utilisant la commande apt-get install. Comme toute installation, ne pas oublier d'utiliser apt-get update et apt-get upgrade au préalable.
pi@slave01:~ $ sudo apt-get install php7.0-gd
Lecture des listes de paquets... Fait

. . .

Paramétrage de php7.0-gd (7.0.27-0+deb9u1) ...

Creating config file /etc/php/7.0/mods-available/gd.ini with new version
Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
Traitement des actions différées (« triggers ») pour libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
pi@slave01:~ $ sudo service apache2 restart
pi@slave01:~ $ 
En invoquant la page phpinfo.php créée lors de l'installation de PHP, les paramètres de l’extension gd sont maintenant visibles.

Test de l'extension gd

Le plus simple, pour tester le fonctionnement d'une extension, c'est de créer un script PHP qui invoque les fonctions qu'elle expose. Par exemple, pour l'extension gd, on peut appeler la fonction gd_info() qui retourne comme résultat un tableau associatif contenant les paramètres de l'extension. Pour cela, on va créer une page gdinfo.php dont le contenu est :
<?php
$gdinfos = gd_info();
?>
<h2>Paramètres extension GD</h2>
<?php
foreach ($gdinfos  as $key=>$value)
{
    echo "$key=$value<br />";
}
?>
Si l'installation est correct le contenu du tableau associatif doit s'afficher comme ceci :

Configurer gd

Comme toutes les extensions, la configuration se fait dans /etc/php/7.0/apache2/php.ini. Chaque extension possède un paragraphe dédié entre crochets. Les paramètres configurables pour l'extension se situent après [gd]. Par défaut, ils sont préfixés avec un point-virgule. C'est alors leur valeur par défaut qui est utilisée.
. . .

[gd]
; Tell the jpeg decode to ignore warnings and try to create
; a gd image. The warning will then be displayed as notices
; disabled by default
; http://php.net/gd.jpeg-ignore-warning
gd.jpeg_ignore_warning = 1

. . .
Après avoir redémarré Apache (commande sudo service apache2 restart), la configuration de chaque extension mise à jour est affichée dans la page phpinfo.php.

D'autres extensions de PHP qui peuvent être utiles


Module PHPPaquet RasbianCommentaire
bcmathphp7.0-bcmathPour des calculs mathématiques qui nécessitent une très grande précision (paramétrable jusqu'à  2.147.483.647 décimales en fonction des ressources disponibles sur le serveur.
xml
dom
xsl
php7.0-xmlPour manipuler des documents XML via l'API DOM.
gdphp7.0-gdPour créer et manipuler des images.
imapphp7.0-imapPour gérer un serveur de messagerie.
intlphp7.0-intlPour créer des applications où les paramètres régionaux (internationalisation) sont nécessaires. 
ldapphp7.0-ldapPour accéder à des serveurs LDAP (OpenLDAP).
soapphp7.0-soapPour accéder à des Web Services en mode SOAP.
zipphp7.0-zipPour gérer des fichiers compressés au format ZIP. 

Commentaires

Posts les plus consultés de ce blog

Gérer la mise en veille

Configurer VSCode pour programmer et déboguer à distance sur Raspberry Pi

Créer un nouvel utilisateur Raspbian