Maison > Article > développement back-end > Parlons de la façon de basculer entre plusieurs versions de PHP dans Ubuntu
Comment basculer entre plusieurs versions de PHP dans Ubuntu ? L'article suivant vous expliquera comment changer de version de PHP dans Ubuntu. J'espère qu'il vous sera utile !
Parfois, la dernière version du package d'installation peut ne pas fonctionner comme prévu. Votre programme peut être incompatible avec les packages les plus récents et ne prendre en charge que certains packages plus anciens. Dans ce cas, vous pouvez immédiatement rétrograder le package problématique vers sa version de travail antérieure.
Cependant, vous n’avez pas besoin de rétrograder certains packages. Nous pouvons utiliser plusieurs versions en même temps. Par exemple, supposons que vous testiez un programme PHP déployé dans la pile LAMP sur Ubuntu 22.04 LTS. Après un certain temps, vous constatez que l'application fonctionne correctement sous PHP 7.2, mais pas sous PHP 8.1 (Ubuntu 22.04 LTS installe PHP 8.x par défaut). Envisagez-vous de réinstaller PHP ou toute la pile LAMP ?
Mais ce n’est pas nécessaire. Vous n’avez même pas besoin de rétrograder PHP vers sa version antérieure. Dans ce court tutoriel, je vais vous montrer comment basculer entre plusieurs versions de PHP dans Ubuntu 22.04 LTS. Ce n'est pas aussi difficile que vous le pensez. Veuillez continuer à lire.
Pour voir la version installée par défaut de PHP, exécutez :
root@ubuntu-server:~# php -v PHP 8.1.7 (cli) (built: Jun 25 2022 08:13:46) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.7, Copyright (c) Zend Technologies with Zend OPcache v8.1.7, Copyright (c), by Zend Technologies
Comme vous pouvez le voir, la version de PHP installée est 8.1.7. Après avoir testé votre programme pendant quelques jours, vous constaterez que votre programme ne prend pas en charge PHP7.2. Dans ce cas, c'est une bonne idée d'utiliser à la fois PHP7.x et PHP8.x afin de pouvoir basculer facilement entre les versions prises en charge à tout moment.
Vous n'avez pas besoin de supprimer PHP8.x ou de réinstaller la pile LAMP. Vous pouvez utiliser les versions PHP7.x et 8.x.
Je suppose que vous n'avez pas encore désinstallé PHP 7.2 sur votre système. Si vous l'avez supprimé, vous pouvez le réinstaller à l'aide du PPA ci-dessous.
sudo add-apt-repository -y ppa:ondrej/php sudo apt update sudo apt install php7.2
Désactivez d'abord le module PHP 8.1 à l'aide de la commande :
root@ubuntu-server:~# a2dismod php8.1 Module php8.1 disabled. To activate the new configuration, you need to run: systemctl restart apache2
Ensuite, activez le module PHP 7.2 :
sudo a2enmod php7.2
Définissez PHP 7.2 comme version par défaut :
sudo update-alternatives --set php /usr/bin/php7.2
Vous pouvez également exécuter la commande suivante pour définir la version globale de PHP à utiliser par défaut.
sudo update-alternatives --config php
Entrez le numéro sélectionné pour le définir comme version par défaut, ou appuyez simplement sur Entrée pour conserver la sélection actuelle.
Si vous avez d'autres extensions PHP installées, veuillez les définir par défaut.
sudo update-alternatives --set phar /usr/bin/phar7.2
Enfin, redémarrez le serveur Web Apache :
sudo systemctl restart apache2
Maintenant, vérifiez si PHP 7.2 est la version par défaut :
root@ubuntu-server:~# php -v 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
De même, vous pouvez passer de PHP 7.x vers PHP 8.x Basculez vers la version PHP 8.x comme indiqué ci-dessous.
sudo a2enmod php8.1 sudo a2dismod php7.2 sudo update-alternatives --set php /usr/bin/php8.1 sudo systemctl restart apache2
Un rappel :
La version stable actuelle de php7.2 ne prend plus en charge
Il est donc recommandé de mettre à niveau tous les programmes PHP dès que possible et de les rendre compatibles avec PHP 8.x.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!