GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer plusieurs versions de PHP sur Ubuntu 20.04, 18.04, 20.10

Ce tutoriel vous montre comment installer plusieurs versions de PHP sur Ubuntu et faites en sorte qu'un hôte virtuel Apache particulier ou un bloc de serveur Nginx utilise l'un d'eux. Ceci est utile lorsque vous avez plusieurs applications Web sur votre serveur mais qu'une ou deux d'entre elles ne sont pas compatibles avec la version PHP du référentiel Ubuntu par défaut. Le référentiel Ubuntu 18.04 inclut PHP7.2 et le référentiel Ubuntu 20.04 inclut PHP7.4. Nous allons voir comment installer PHP7.3 , PHP7.4 , et PHP8.0 sur un seul serveur Ubuntu.

Installer plusieurs versions de PHP sur Ubuntu via PPA

Le moyen le plus simple d'installer plusieurs versions de PHP consiste à utiliser le PPA d'Ondřej Surý, qui est un développeur Debian. Pour ajouter ce PPA, exécutez les commandes suivantes dans le terminal. Le software-properties-common package est nécessaire si vous souhaitez installer un logiciel à partir de PPA. Il est installé automatiquement sur le bureau Ubuntu, mais peut être absent de votre serveur Ubuntu.

sudo apt install software-properties-commonsudo add-apt-repository ppa:ondrej/phpsudo apt update

Vous pouvez maintenant installer PHP8.0 sur Ubuntu en exécutant la commande suivante.

sudo apt installer php8.0 php8.0-fpm

Et installez quelques extensions PHP8.0 courantes.

sudo apt installer php8.0-mysql php8.0-mbstring php8.0-xml php8.0-gd php8.0-curl

Vous pouvez voir toutes les extensions PHP7.4 disponibles en tapant sudo apt install php8.0 et en appuyant sur Tab clé deux fois.

Pour installer PHP7.4 sur Ubuntu , exécutez

sudo apt installer php7.4 php7.4-fpm

Installez quelques extensions PHP7.4 courantes.

sudo apt install php7.4-mysql php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl

Vous pouvez installer PHP7.3 de la même manière. Remplacez simplement le numéro de version dans ces commandes.

Astuce  :PHP5.6, PHP7.0 et PHP7.2 sont arrivés en fin de vie, mais vous pouvez toujours obtenir des correctifs de sécurité à partir de ce PPA.

Changement de version de PHP dans l'hôte virtuel Apache

Par défaut, Apache utilise une version PHP sur tous les hôtes virtuels. Si vous souhaitez utiliser une version PHP différente dans un hôte virtuel particulier, vous devrez désactiver le module Apache PHP et exécuter le code PHP via PHP-FPM. Vérifiez si mod_php est installé.

dpkg -l | grep libapache2-mod-php

S'il est installé, vous devez le désactiver. Par exemple, j'ai libapache2-mod-php7.4 installé sur mon serveur Ubuntu 20.04,

Je le désactive en exécutant :

sudo a2dismod php7.4

Vous devez également désactiver le module prefork MPM.

sudo a2dismod mpm_prefork

Vous devez maintenant exécuter la commande suivante pour activer trois modules afin d'utiliser PHP-FPM, que mod_php est installé sur votre serveur.

sudo a2enmod mpm_event proxy_fcgi setenvif

L'extrait de configuration PHP-FPM se trouve dans /etc/apache2/conf-available/ .

Supposons que vous souhaitiez utiliser PHP8.0 dans un hôte virtuel Apache, puis ouvrez le fichier de configuration de l'hôte virtuel et ajoutez la ligne suivante dans le <VirtualHost> balises.

Inclure /etc/apache2/conf-available/php8.0-fpm.conf

Comme ceci :

Enregistrez et fermez le fichier. Vérifiez ensuite la syntaxe.

sudo apachectl -t

Redémarrez Apache pour que la modification prenne effet.

sudo systemctl redémarrer apache2

Supposons maintenant que vous souhaitiez utiliser PHP7.3 dans l'hôte virtuel Mautic car Mautic n'est pas compatible avec PHP7.4, puis ajoutez la ligne suivante dans votre hôte virtuel Mautic entre <VirtualHost> balises puis redémarrez Apache.

Inclure /etc/apache2/conf-available/php7.3-fpm.conf

Pour tester quelle version de PHP est utilisée par votre hôte virtuel, vous pouvez créer un info.php fichier à la racine de votre document (disons /var/www/html ).

sudo nano /var/www/html/info.php

Collez le code PHP suivant dans le fichier.

Enregistrez et fermez le fichier. Ensuite, dans la barre d'adresse de votre navigateur, saisissez

votre-domaine.com/info.php

Changer de version de PHP dans le bloc de serveur Nginx

Il est très facile de changer de version de PHP dans le bloc de serveur Nginx. Comme vous le savez probablement, Nginx exécute du code PHP via PHP-FPM, qui écoute sur un socket Unix. Le fichier socket est situé dans /run/php/ répertoire.

Comme vous pouvez le voir sur la capture d'écran, il existe plusieurs fichiers socket PHP-FPM (.sock) sur mon serveur correspondant à différentes versions de PHP. Votre fichier de bloc de serveur Nginx contient généralement l'extrait suivant pour se connecter au serveur PHP-FPM.

emplacement ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.4-fpm.sock ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; inclure fastcgi_params ; } 

La version PHP utilisée par Nginx est déterminée par la troisième ligne de l'extrait de code. Pour utiliser PHP8.0 dans un bloc de serveur Nginx particulier, remplacez cette ligne par :

fastcgi_pass unix :/run/php/php8.0-fpm.sock ;

Pour utiliser PHP7.3 dans le bloc de serveur Nginx, remplacez cette ligne par

fastcgi_pass unix:/run/php/php7.3-fpm.sock;

Je suis sûr que vous avez l'idée maintenant. Enregistrez et fermez le fichier. Rechargez ensuite Nginx pour que les modifications prennent effet.

sudo systemctl recharger nginx

Pour tester quelle version de PHP est utilisée par votre bloc serveur, vous pouvez créer un info.php fichier à la racine de votre document (disons /var/www/html ).

sudo nano /var/www/html/info.php

Collez le code PHP suivant dans le fichier.

Enregistrez et fermez le fichier. Ensuite, dans la barre d'adresse de votre navigateur, saisissez

votre-domaine.com/info.php

Comment définir la version PHP par défaut pour la ligne de commande

Si vous installez une version plus récente de PHP sur Ubuntu, elle deviendra la version par défaut pour la ligne de commande. J'ai installé PHP8.0, mais je veux toujours PHP7.4 comme version par défaut pour la ligne de commande.

Pour définir la version PHP par défaut de la ligne de commande, exécutez la commande suivante.

sudo update-alternatives --config php

Pour vérifier la version actuelle de PHP en ligne de commande, exécutez

php --version


Ubuntu
  1. Comment installer PHP 7.4 / 7.3 / 7.2 sur Ubuntu 18.04 / Ubuntu 16.04

  2. Comment installer PHP 8.0 sur Ubuntu 20.04 / Ubuntu 18.04

  3. Comment installer PHP 7 sur Ubuntu 14.04

  4. Comment installer PHP 7 sur Ubuntu 15.04

  5. Comment installer PHP 7.3 sur Ubuntu 18.04

Comment installer PHP 8.0 sur Ubuntu 20.04

Comment basculer entre plusieurs versions de PHP dans Ubuntu

Comment installer PHP 8.0 sur Ubuntu 20.04 / 18.04

Comment installer différentes versions de PHP (5.6, 7.x et 8.0) dans Ubuntu

Comment installer PHP dans Ubuntu 22.04

Comment installer PHP sur Ubuntu 22.04