4.La configuration de PHP

4.3.Gestion des modules PHP

4.3.1.Introduction

Bon nombre des fonctionnalités offertes par PHP le sont en fait par des extensions: des modules. PHP profite ainsi des multiples bibliothèques écrites en langage C pour nous fournir ces services. PHP étant modulaire, ces extensions peuvent être chargées ou non, selon les besoins.
rem
  • Ne pas charger un module permet de gagner en performance (en occupation mémoire) et peut permettre de gagner en sécurité.
Le choix des modules à intégrer peut se faire au moment de la compilation de PHP ou bien par la suite via le fichier php.ini (s'il s'agit d'une bibliothèque dynamique).

4.3.2.Inventaire des modules installés

La première chose que vous aurez à faire consistera probablement à déterminer quels sont les modules activés par votre configuration PHP. Là, encore, la fonction phpinfo() ou la commande php -i va nous aider[comment?]. Cette commande liste en effet (entre autres) les modules chargés.
L'extrait suivant
phpinfo modules
indique ainsi que les modules calendar, ctype et curl sont disponibles dans cette configuration.

4.3.3.Installation d'un module pré-compilé

La solution la plus simple (quand c'est possible) est d'utiliser des modules pré-compilés. Il s'agit de bibliothèques dynamiques. C'est à dire des fichiers portant (généralement) une extension .dll sous windows et .so sous Linux.
L'équipe PHP gère officiellement certains de ces modules et peut en proposer d'autres plus expérimentaux (ou obsolètes). Les extensions officiellement supportées sont fournies dans une archive nommée PECL et sont disponibles sur la page de téléchargement du site officiel[où?].
Ces modules sont généralement inclus dans les kits d'installation. Avec Wamp Server, par exemple, vous les trouverez dans le dossier bin/php/php<version>/ext/.
Une fois la bibliothèque dynamique récupérée il vous faut la copier dans le répertoire indiqué par le paramètre extension_dir du fichier php.ini[où?]. Notez qu'il est possible que le module s'y trouve déjà même si il n'est pas "activé" dans PHP.
Pour que le moteur PHP prenne en compte ce module, encore faut-il qu'il soit déclaré dans le fichier php.ini[où?]. Pour cela, il suffit d'ajouter une ligne contenant le mot clé extension suivi du signe égal '=' puis le nom de la bibliothèque (sans le chemin). Comme dans l'exemple suivant
extension=monmodule.dll ;sous windows
extension=monmdule.so ;sous linux
rem
  • Généralement, si vous avez utilisé un kit d'installation (sous windows) il suffit de décommenter la ligne correspondant au module (en supprimant le point-virgule ';' en début de ligne).