GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment basculer entre plusieurs versions de PHP dans Ubuntu

Ce bref tutoriel vous guide à travers les étapes pour basculer entre plusieurs versions de PHP dans Ubuntu Linux et ses dérivés. Ce guide est officiellement testé sur l'édition serveur Ubuntu 18.04 LTS. Cela peut également fonctionner sur d'autres versions plus anciennes ou plus récentes d'Ubuntu.

Présentation

Parfois, la version la plus récente d'un package installé peut ne pas fonctionner comme prévu. Votre application peut ne pas être compatible avec le package mis à jour et ne prendre en charge qu'une ancienne version spécifique du package.

Dans de tels cas, vous pouvez simplement rétrograder le package problématique vers sa version de travail antérieure en un rien de temps. Reportez-vous à nos anciens guides sur la façon de rétrograder un package dans Ubuntu et ses variantes ici et comment rétrograder un package dans Arch Linux et ses dérivés ici .

Dans certaines situations, vous n'avez pas besoin de rétrograder les packages problématiques. Sous Linux, nous pouvons utiliser plusieurs versions du même package en même temps, côte à côte.

Par exemple, disons que vous testez une application PHP dans la pile LAMP déployé dans Ubuntu 18.04 LTS. Au bout d'un moment, vous découvrez que l'application fonctionnait correctement en PHP 5.6, mais pas en PHP 7.2 (Ubuntu 18.04 LTS installe PHP 7.x par défaut).

Allez-vous réinstaller PHP ou toute la pile LAMP ? Pas nécessaire.

Vous n'avez même pas besoin de rétrograder le PHP vers sa version antérieure. Vous pouvez simplement passer à la version précédente de PHP en quelques minutes.

1. Basculer entre plusieurs versions de PHP

Vérifions la version installée par défaut de PHP en utilisant la commande :

$ php -v

Exemple de résultat :

PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

Comme vous pouvez le voir, la version installée de PHP est 7.2.7.

Après avoir testé votre application pendant quelques jours, vous découvrez que votre application ne prend pas en charge PHP 7.2. Dans ce cas, c'est une bonne idée d'avoir à la fois la version PHP 5.x et la version PHP 7.x, afin que vous puissiez facilement basculer entre n'importe quelle version prise en charge à tout moment.

Vous n'avez pas besoin de supprimer PHP 7.x ou de réinstaller la pile LAMP. Vous pouvez utiliser les versions PHP 5.x et 7.x ensemble.

Je suppose que vous n'avez pas encore désinstallé php 5.6 de votre système. Juste au cas où vous l'auriez déjà supprimé, vous pouvez le réinstaller à l'aide d'un PPA comme ci-dessous.

Vous pouvez installer PHP 5.6 depuis un PPA :

$ sudo add-apt-repository -y ppa:ondrej/php
$ sudo apt update
$ sudo apt install php5.6

1.1. Passer de PHP 7.x à PHP 5.x

1.1.1 Désactivez d'abord le module PHP 7.2 à l'aide de la commande :

$ sudo a2dismod php7.2

Exemple de résultat :

Module php7.2 disabled.
To activate the new configuration, you need to run:
systemctl restart apache2

1.1.2. Ensuite, activez le module PHP 5.6 :

$ sudo a2enmod php5.6

1.1.3 Définissez PHP 5.6 comme version par défaut à l'aide de la commande :

$ sudo update-alternatives --set php /usr/bin/php5.6

1.1.4. Vous pouvez également exécuter la commande suivante pour définir la version système de PHP que vous souhaitez utiliser par défaut.

$ sudo update-alternatives --config php

1.1.5. Entrez le numéro de la sélection pour la définir comme version par défaut ou appuyez simplement sur ENTER pour conserver le choix actuel.

1.1.6. Si vous avez installé d'autres extensions PHP, définissez-les également par défaut.

$ sudo update-alternatives --set phar /usr/bin/phar5.6

1.1.7. Enfin, redémarrez votre serveur Web Apache :

$ sudo systemctl restart apache2

Maintenant, vérifiez si PHP 5.6 est la version par défaut ou non :

$ php -v

Exemple de résultat :

PHP 5.6.37-1+ubuntu18.04.1+deb.sury.org+1 (cli) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

2. Passer de PHP 5.x à PHP 7.x

De même, vous pouvez passer de la version PHP 5.x à la version PHP 7.x en exécutant les commandes suivantes l'une après l'autre.

$ sudo a2enmod php7.2
$ sudo a2dismod php5.6
$ sudo update-alternatives --set php /usr/bin/php7.2
$ sudo systemctl restart apache2

Mise en garde :

La version stable finale de PHP 5.6 a atteint la fin de support actif à compter du 19 janvier 2017. Cependant, PHP 5.6 continuera à recevoir une assistance pour les problèmes de sécurité critiques jusqu'au 31 décembre 2018. Il est donc recommandé de mettre à niveau toutes vos applications PHP pour qu'elles soient compatibles avec PHP 7 .x dès que possible.

Si vous souhaitez empêcher la mise à jour automatique de PHP à l'avenir, consultez le guide suivant.

  • Comment empêcher l'installation, la mise à niveau ou la suppression automatique d'un paquet dans Ubuntu

Et, c'est tout pour le moment. J'espère que cela vous aidera.


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

  2. Comment installer plusieurs versions de PHP sur Ubuntu 18.04 LTS

  3. Comment installer PHP 7.2 sur Ubuntu 16.04

  4. Comment exécuter plusieurs versions de PHP avec Nginx sur Ubuntu ?

  5. Comment installer / basculer entre plusieurs versions de Java avec SDKMAN

Comment basculer entre Xorg et Wayland dans Ubuntu

Comment basculer entre plusieurs versions de Java sur Debian

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