Un petit article pour présenter comment installer plusieurs versions de php en simultané sur votre serveur dédié.
Ceci peut notamment être utile si vous hébergez plusieurs sites sur votre serveur dédié et qu’ils n’ont pas les mêmes prérequis techniques.

En utilisant apache et php-fpm et c’est très facile et rapide à mettre en place.
Pour notre exemple je souhaite installer php 5.6 et php 7.0 en simultané.

#Pour commencer installer apache
apt-get install apache2 libapache2-mod-fastcgi
 
#Activativation des mode actions fastcgi et alias pour apache2
a2enmod actions fastcgi alias
 
#Ajouter le ppa Ondrej
add-apt-repository ppa:ondrej/php
 
#Update des packet
apt-get update
 
#Installer PHP 7 + extensions de base
apt-get install php7.0-fpm php7-xml php7-gd php7-mcrypt php7-mysql php7-pdo
 
#Installer PHP 5.6 + extensions de base
apt-get install php5.6-fpm php5.6-xml php5.6-gd php5.6-mcrypt php5.6-mysql php5.6-pdo

Partant du principe que la version par défaut sera php 7.0,
On va ensuite configurer phpfpm 5.6 pour une exécution à la demande en éditant son fichier de configuration

vim /etc/php/5.6/fpm/pool.d/www.conf

changer la ligne pm comme ceci :

pm = ondemand

La base est à présent installée, maintenant vous pouvez éditer vos fichiers de configuration de la manière suivante.

#Editer le fichier de configuration pour tester le fonctionnement
<VirtualHost *:80>
 
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/html
 
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
#PHP7 ( Actif )
<IfModule mod_fastcgi.c>
        AddHandler php7-fcgi .php
        Action php7-fcgi /php7-fcgi virtual
        Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
        FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
</IfModule>
 
#Décommenter pour activer PHP 5.6
#<IfModule mod_fastcgi.c>
#AddHandler php5.6-fcgi .php
#Action php5.6-fcgi /php5.6-fcgi virtual
#Alias /php5.6-fcgi /usr/lib/cgi-bin/php5.6-fcgi
#FastCgiExternalServer /usr/lib/cgi-bin/php5.6-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
#</IfModule>
 
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>

Vous pouvez ensuite en fonction de vos besoins spécifier la version de php à utiliser sur chacun de vos vhosts.

Redémarrer apache2 pour prendre en compte la configuration

service apache2 restart