Les paquets binaires sont disponibles dans le dépôt spécifique pour Enterprise Linux 5 x86_64.

Comme je ne prévois pas de fournir ces RPM pour les autres versions / architectures, vous devrez les reconstruire vous-même, cependant l'opération est assez simple, et surtout, les RPM sources disponibles dans mon dépôt sont prévus pour cela.

Dans ce guide, j'utilise la construction par rpmbuild, les plus expérimentés préféreront le passage par mock.

1. Préparer l'environnement de construction

Sous le compte root :

useradd phpbuilder
yum install rpm-build rpmdevtools

Sous le compte phpbuilder :

rpmdev-setuptree

2. Récupérer les sources

Télécharger depuis mon dépôt la dernière version des paquets sources. Actuellement, les paquets prévus pour cette relocalisation sont

Je pense aussi adapter les autres extensions pecl, au fur et à mesure de leur évolution (sortie de nouvelle version).

Je ne prévois pas d'adapter les extensions pear (trop nombreuses) donc il faudra utiliser la commande pear install.

3. Installer les dépendances

Sous le compte root :

yum-builddep /home/phpbuilder/php-5.3.4-3.remi.src.rpm

4. Construire PHP

Sous le compte phpbuilder :

rpm -ivh php-5.3.4-3.remi.src.rpm
rpmbuild -bb --define "rhel 5" --define "phpname php53" rpmbuild/SPECS/php.spec

C'est la définition de la macro phpname qui permet de gérer la localisation.

Les autres paquets pourront ensuite être reconstruit de la même manière.

5. Installer

Les RPM construit sont disponibles dans le dossier /home/phpbuilder/rpmbuild/RPMS/<arch>

Il sont nommés php53-*

6. Utiliser

Il suffit de spécifier le chemin de la commande pour disposer de la bonne version.

$ php -v
PHP 5.1.6 (cli) (built: Nov 13 2010 16:05:12)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
$ /usr/bin/php53/php -v
PHP 5.3.4 (cli) (built: Dec 27 2010 16:38:32)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Les fichiers de configuration sont dans le dossier /etc/php53.

Remarque : il ne sera pas possible d'installer les 2 modules pour apache, il faudra donc utiliser soit le module apache, pour les applications les plus utilisées, soit le mode cgi pour les autres. Une autre solution consiste à faire tourner 2 instances d'apache.

7. Conclusion

Les RPM générés sont toujours en cours de qualification. Il est possible qu'ils soient encore légèrement modifiés en fonction des tests.

Évidement, il sera par la suite possible de supprimer ces RPM pour passer entièrement à la version 5.3.4 en utilisant les RPM de mon dépôt.

Ce guide fonctionne aussi sous Enterprise Linux 4, il ne devrait pas poser de problème sous Fedora <= 11 (qui fournit php 5.2).

Merci à Compass Network qui a rendu ce travail possible.

Vos retours sont les bienvenus.