Installer d’autres versions de PHP (en cas de problème de compatibilité)

Parfois, on veut tout mettre à jour et on se rend compte que les solutions qui dépendent de PHP ne sont pas compatibles avec ses dernières versions. Dans ce cas je propose une petite méthodo de résolution pour tester différentes versions de PHP :

Commencer par ajouter les dépôts sury

sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

sudo apt update 

sudo apt install php8.0

Choisir la version de Php à utiliser

sudo update-alternatives --config php

Ce qui devrait proposer quelques choix :

There are 2 choices for the alternative php (providing /usr/bin/php).Selection    Path             Priority   Status
------------------------------------------------------------
  0            /usr/bin/php8.1   81        auto mode
* 1            /usr/bin/php8.0   80        manual mode
  2            /usr/bin/php8.1   81        manual modePress <enter> to keep the current choice[*], or type selection number:

Ne pas oublier de désactiver / réactiver php au niveau d’Apache (exemple si je veux passer de php8.1 à php8.0 :

sudo a2dismod php8.1
sudo systemctl restart apache2

sudo a2enmod php8.0 
sudo systemctl restart apache2

Il suffit ensuite de vérifier la version de PHP :

php -v
Output
PHP 8.0.18 (cli) (built: May  1 2022 04:42:09) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.18, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.18, Copyright (c), by Zend Technologies

Et de vérifier la version utilisée par Apache :

php -c /etc/php/apache2/php.ini -v
PHP 7.4.33 (cli) (built: Sep  4 2023 08:12:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies