Joueb.com
Envie de créer un weblog ?
Soutenez le Secours populaire
ViaBloga
Le nec plus ultra pour créer un site web.
Débarrassez vous de cette publicité : participez ! :O)

Compilation de modules pour PHP
--> Personnaliser une installation standard de PHP (sur une Red Hat par exemple)
Première publication : mercredi 11 février 2004.

PHP propose certaines fonctionnalités sous la forme de modules. Dans les versions précompilées de PHP (par exemple les rpms fournis avec des systèmes Red Hat ou Mandrake), ces modules n’ont pas forcément été inclus dans la distribution. Voici la méthode pour les compiler afin de pouvoir les ajouter.

- D’abord, vérifier que le rpm php-devel est installé :

$ rpm -qa |grep php-devel

Un ligne de ce genre :

php-devel-4.2.2-17

doit s’afficher. Si ce n’est pas le cas, c’est que php-devel n’est pas installé ; l’installer en suivant la procédure standard : télécharger le fichier php-devel-version.rpm sur le web (par exemple en utilisant http://rpmfind.net/) ou le prendre sur le cdrom d’installation, puis, en root :

# rpm -i php-devel-version.rpm

- Télécharger la version de php qui a été installée par le distributeur (les anciennes distributions de php sont à l’adresse http://www.php.net/releases.php). Pour connaître la version exacte de PHP, créer un fichier dans l’arborescence du web contenant seulement le code suivant :

<?php
phpinfo();
?>

Puis charger ce fichier depuis un navigateur, en utilisant l’adresse IP du serveur (ou localhost si la connexion est faite depuis le serveur lui-même).

- Décompacter le tarball dans un répertoire quelconque :

$ mv php-version.tar.gz /tmp

$ cd /tmp

$ tar xzvf php-version.tar.gz

- Se placer dans le répertoire de l’extension désirée (ici, dbase, par exemple) :

$ cd php-version/ext/dbase

- Lancer le programme phpize

- Préparer la compilation :

$ ./configure

Dans certains cas, il peut être nécessaire d’ajouter des options à cette commande. Pour connaître les options possibles, utiliser la commande [1] :

$ ./configure --help

- Lancer la compilation :

$ make

- Installer la bibliothèque ainsi créée dans le répertoire des extensions de PHP (dans notre exemple, /usr/lib/php4/) (attention, vous devez être logé en root) :

# cp modules/*.so /usr/lib/php4/

Si vous ne connaissez pas le chemin de ce répertoire, la commande suivante devrait vous permettre de le trouver :

$ grep extension_dir /etc/php.ini

- Modifier le fichier de configuration de PHP : il s’agit en général de /etc/php.ini, mais à partir de Red Hat 9, il vaut mieux créer un fichier dans /etc/php.d/ ; ce fichier porte le nom du module à charger, avec une extension .ini (dbase.ini par exemple). Le texte suivant doit être ajouté au fichier php.ini ou au fichier créé dans php.d (toujours avec l’exemple de dbase) :

extension=dbase.so

- Relancer apache (en root) :

# /etc/init.d/httpd stop

# /etc/init.d/httpd start

- Recharger le fichier d’info créé au début, afin de vérifier que les nouveaux modules ont bien été pris en compte. Si ce n’est pas le cas, le fichier de log /var/log/httpd/error_log devrait donner des informations utiles pour corriger le problème.

[1] Voir aussi les cas particuliers
Ecrit par blacherez, le Samedi 21 Mai 2005, 03:15 dans la rubrique Linux.