Artisan Numérique

/développement/php/pecl/ Installer une extension PHP à la mano

De temps à autre il est nécessaire soit d'avoir accès à la dernière version d'une extension PECL de PHP, soit simplement d'en disposer parce que notre distribution préférée a jugé utile de supprimer le paquet.

Dans mon cas, il s'agit de l'extension permettant d'accéder nativement à SQLite 2.0 qui a disparu de la Debian Wheezy. Pas de panique, c'est relativement simple à corriger.

Première étape, installer ce qu'il nous faut pour télécharger et compiler les extensions PECL.

gastonsudo aptitude install php5-dev php-pear
installation des outils nécessaires à la compilation

Ceci fait, nous allons récupérer le code source de notre extension

gastonpecl download sqlite
gastontar -zxvf sqlite*.tar.gz
gastoncd sqlite*
récupération du tarball de l'extension

Après c'est la procédure classique propre à toute extensions PHP, PECL ou pas

gastonphpize
gaston./configure
gastonmake -j 4
gastonsudo make install
phpisation

phpize est une commande fournie par php-dev qui va configurer tous les paramètres permettant la compilation et le lien avec les librairies PHP. Le reste est du grand classique de compilation sous UNIX. Notez le -j4 qui permet de lancer 4 compilations en parallèle.

Une fois la compilation et l'installation achevée, il reste à déclarer l'extention. Pour cela il faut déjà la trouver. Lorsque l'on a invoqué make install, la commande nous a donné un indice en indiquant la copie de /usr/lib/php5/20100525/sqlite.so. C'est donc ce chemin que l'on va déclarer dans la configuration de PHP en utilisant le même formalisme que pour les extensions installées par le gestionnaire de paquets.

gastonecho "extension=/usr/lib/php5/20100525/sqlite.so" > /etc/php5/conf.d/20-sqlite.ini
déclaration de l'extension

Maintenant il ne reste plus qu'à redémarrer Apache pour bénéficier de l'extension.