Installer php 5.1.6 et php 5.3.4
+
Par Remi le mercredi 29 décembre 2010, 10:13 - HowTo - Lien permanent
Certains souhaitent pouvoir installer php-5.3.4 à côté du php-5.1.6 fournit sous Enterprise Linux 5 (RHEL, Centos, ...), souvent pour tester la nouvelle version, pour assurer le fonctionnement d'anciennes applications, ou simplement pour ne pas écraser les paquets officiels.
C'est la cas de Compass Network qui m'a demandé d'adapter le RPM de php pour cet usage.
Voici donc un guide si vous souhaitez réaliser cette installation.
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
- php-5.3.4-3.remi.src.rpm
- php-pear-1.9.1-7.remi.src.rpm
- php-pecl-apc-3.1.6-2.remi.src.rpm
- php-pecl-imagick-3.0.1-2.remi.src.rpm
- php-pecl-memcache-3.0.5-3.remi.src.rpm
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.
Commentaires
Mise à jour en 5.3.7.
Mise à jour en 5.3.8 avec l'extension mysqlnd.