2010-09-12

Installer plusieurs versions de PHP

Il est pratique d'avoir plusieurs versions de PHP d'installées à des fins de tests, de migration etc. La php 5.3 est très différente de php 5.2 et va obliger de nombreux développeurs à revoir leur code s'ils veulent le voir tourner proprement sous php 5.3.

Le tutoriel qui suit vous permettra d'installer plusieurs versions de php et de pouvoir utiliser l'une ou l'autre par virtualhost. Je pars du principe que vous avez déjà une version de PHP "par défaut" qui fonctionne déjà, sinon, commencez par installer votre serveur LAMP et revenez ici juste après.

Lire la suite

Compilation de PHP

Nous allons télécharger la version de php désirée (depuis le site officiel), extraire les fichiers de l'archive, et compiler php dans un dossier spécifique via l'option "--prefix". Chacun a des besoin différents, je vous laisse donc ajouter / supprimer les options voulues. Pour ma part je ne ferais qu'une installation par défaut mis à part le "--prefix" :

cordeld@Black:~$ sudo su [sudo] password for cordeld: root@Black:/home/cordeld# cd /tmp root@Black:/tmp# wget -O /tmp/php5.2.tar.gz http://fr.php.net/get/php-5.2.14.tar.gz/from/this/mirror root@Black:/tmp# tar -xvzf php5.2.tar.gz root@Black:/tmp# cd php-5.2.14/ root@Black:/tmp/php-5.2.14# mkdir /usr/local/php5.2 root@Black:/tmp/php-5.2.14# ./configure --prefix=/usr/local/php5.2

Si le "configure" se stoppe sur une erreur, c'est qu'il vous manque les fichiers de développement d'une bibliothèque. En général il vous dit laquelle. Par exemple :

configure: error: xml2-config not found. Please check your libxml2 installation.

Il suffit alors de l'installer puis de relancer le "configure"

aptitude install lib2xml-dev

Une fois que tout est okay (php devrait vous dire merci ^^), on le construit, puis on l'installe. Ces opérations peuvent prendre un peu de temps en fonction de la machine.

root@Black:/tmp/php-5.2.14# make root@Black:/tmp/php-5.2.14# make install

Configudation d'Apache et des Vhost

Maintenant qu'une nouvelle version de PHP est installée, il faut qu'Apache sache l'utiliser. Modifiez le fichier de configuration d'apache (/etc/apache2/apache2.conf) pour lui ajouter ceci (au même endroit où d'autre directives directory sont mises)

#Utilisation de PHP5.2 ScriptAlias /cgi-bin-php5.2/ "/usr/local/php5.2/bin/" <Directory "/usr/local/php5.2/bin/"> AllowOverride All Options None Order allow,deny Allow from all </Directory>

Éditez maintenant le Vhost du site que vous voulez faire tourner avec la nouvelle version de PHP et ajoutez ces lignes :

Action php-script /cgi-bin-php5.2/php-cgi AddHandler php-script .php

Si vous avez une erreur "Invalid command 'Action'", c'est que le module actions n'est pas activé. Pour résoudre le problème :

root@Black:/usr/local/php5.2# a2enmod actions root@Black:/usr/local/php5.2# service apache2 restart

Aucun commentaire:

Enregistrer un commentaire