plusieurs versions de php

Comment installer plusieurs versions de PHP avec Apache sur Ubuntu 20.04

Partagez sur:

Ce tutoriel vous aidera à installer plusieurs versions de PHP avec Apache sur le système Linux Ubuntu 20.04.

Ce tutoriel décrit l’installation et la configuration de deux VirtualHost dans Apache avec des versions PHP distinctes.

 

LIRE AUSSI: Comment mettre à jour PHP sur Ubuntu 18.04

Le premier VirtualHost fonctionnera avec PHP 5.6 et un autre VirtualHost fonctionnera avec PHP 7.4.

Vous pouvez également utiliser plus de deux versions de PHP avec Apache selon vos besoins, mais ce tutoriel n’en couvre que deux.

Installer Apache

Les packages pour Apache sont disponibles dans les référentiels par défaut sur Ubuntu.

Ouvrez un terminal sur votre système Ubuntu, puis exécutez les commandes suivantes pour installer la dernière version disponible du serveur Web Apache.

sudo apt update 
sudo apt install apache2 libapache2-mod-fcgid
 

Installer PHP

Un PPA est maintenu pour l’installation de PHP sur les systèmes Ubuntu depuis de longues années. Il vous suffit d’ajouter ce PPA à votre système pour installer les packages.

Utilisez les quelques commandes ci-dessous pour ajouter le PPA à votre système.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Pour ce tutoriel, nous utilisons PHP 5.6 et PHP 7.4 pour configurer avec le serveur Web Apache. Pour utiliser les multiples versions de PHP, nous utiliserons PHP FPM et FastCGI.

Installons les packages suivants sur votre système.

sudo apt update -y
sudo apt install php5.6 php5.6-fpm -y
sudo apt install php7.4 php7.4-fpm -y



Après l’installation, les services php-fpm seront démarrés automatiquement.

Utilisez les commandes suivantes pour vous assurer que les deux services sont en cours d’exécution.

sudo systemctl status php5.6-fpm
sudo systemctl status php7.4-fpm

 

Configurer Apache avec plusieurs versions de PHP

Activez maintenant quelques modules requis pour la configuration de plusieurs versions de PHP avec Apache.

Ces modules sont nécessaires pour intégrer PHP FPM et FastCGI au serveur Apache.

sudo a2enmod actions fcgid alias proxy_fcgi

Préparez-vous pour la configuration de votre serveur Apache. À des fins de test, je configure deux sites Web pour qu’ils fonctionnent avec deux versions PHP différentes. Tout d’abord, créez deux répertoires sur votre serveur.

sudo mkdir /var/www/php56-app
sudo mkdir /var/www/php74-app

Maintenant, créez et index.php contenant la fonction phpinfo ();

 

echo "<?php phpinfo(); ?>" > /var/www/php56-app/index.php echo "<?php phpinfo(); ?>" > /var/www/php74-app/index.php

 

Commençons la création de VirtualHost. Apache conserve tous les fichiers de configuration de VirtualHost sous /etc/apache2/ sites-disponibles avec l’extension .conf.

Créez un fichier pour le premier hôte virtuel et modifiez-le dans votre éditeur de texte préféré.

sudo vim /etc/apache2/sites-available/php56.example.com.conf

 

Ajoutez le contenu suivant.

Assurez-vous d’utiliser le nom du serveur et le chemin du répertoire corrects en fonction de votre configuration.

Ce site Web est configuré pour fonctionner avec PHP 5.6.

<VirtualHost *:80>

    ServerName php56.example.com

    DocumentRoot /var/www/php56-app

    <Directory /var/www/php56-app>

        Options -Indexes +FollowSymLinks +MultiViews

        AllowOverride All

        Require all granted

    </Directory>

    <FilesMatch \.php$>

        # Apache 2.4.10+ can proxy to unix socket

        SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost"

    </FilesMatch>

</VirtualHost>

 

De même, créez un deuxième fichier de configuration VirtualHost pour fonctionner avec PHP 7.2. Modifier le fichier de configuration dans l’éditeur de texte:

sudo vim /etc/apache2/sites-available/php74.example.com.conf

Ajoutez le contenu suivant au fichier avec ServerName et DocumentRoot appropriés.

 

<VirtualHost *:80>

    ServerName php72.example.com

    DocumentRoot /var/www/php74-app

    <Directory /var/www/php74-app>

        Options -Indexes +FollowSymLinks +MultiViews

        AllowOverride All

        Require all granted

    </Directory>

    <FilesMatch \.php$>

        SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"

    </FilesMatch>

</VirtualHost>

 

Vos deux sites Web sont maintenant configurés.

Mais ils ne sont toujours pas actifs.

Apache garde les sites actifs dans le répertoire /etc/apache2/sites-enabled.

Vous pouvez simplement créer un lien symbolique des fichiers de configuration vers ce répertoire ou utiliser la commande ci-dessous pour faire de même.

sudo a2ensite php56.example.com
sudo a2ensite php74.example.com

 

Après avoir effectué toutes les modifications, redémarrez Apache pour recharger les nouvelles modifications de paramètres.

sudo systemctl restart apache2




Votre configuration est maintenant terminée. Passez à l’étape suivante pour tester votre configuration.

Testez votre configuration

Modifiez le fichier /etc/hosts sur votre système local et créez une entrée comme ci-dessous.

Cela résoudra les noms temporaires en adresse IP de l’hôte local.

sudo vim /etc/hosts

Ajouter l’entrée suivante à la fin du fichier

127.0.0.1   php74.example.com
127.0.0.1   php56.example.com



Ouvrez un navigateur Web et visitez les deux sites. Vous verrez que php56.example.com montre la version PHP 5.6 et php74.example.com montre PHP 7.4 comme configuration.

Conclusion

Ce tutoriel vous a aidé à installer plusieurs versions de PHP avec Apache.


Partagez sur: