installer et faire tourner plusieurs versions PHP

multiphp.jpg


Dans le tutoriel installer un serveur web sur debian l’installation de PHP se fait via le paquet disponible selon votre version Debian. Vous n’aurez donc pas la dernière version qui à ce jour est PHP8.4 sur Debian 13 et la PHP8.2 sur Debian 12. Avec le tutoriel suivant vous pourrez installer plusieurs versions PHP et même des versions PHP7.x. Selon votre logiciel web utilisés il se peut qu’il ne fonctionne pour sous les versions PHP8.x et vous devez utiliser les PHP7.x.
Voyons maintenant comment procéder.


Installation

On commence par vérifier s’il n’y a pas de mise à jour à faire

Code:
apt update && apt full-upgrade -y

ensuite vous installez les dépendances dont a besoin le paquet de Sury puis vous installez le tout.

Code:
apt install -y apt-transport-https lsb-release ca-certificates wget
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

une fois les 3 lignes entrées vous lancez une mise à jour. La dernière version du paquet, actuellement la PHP8.4, s’installera.

Code:
apt update && apt full-upgrade -y

La mise à jour terminée vous aurez la PHP8.2 (si vous avec installé PHP via Debian) et PHP8.4 installé.
Si vous voulez installer la version PHP7.4 il vous suffit de l’installer via la méthode habituelle

Code:
apt install php7.4 php7.4-apcu php7.4-bcmath php7.4-bz2 php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-igbinary php7.4-imagick php7.4-intl php7.4-mbstring php7.4-mysql php7.4-pgsql php7.4-readline php7.4-redis php7.4-soap php7.4-tidy php7.4-xml php7.4-xmlrpc php7.4-zip -y

activez plusieurs modules pour que votre service apache2 puisse fonctionner avec plusieurs versions PHP

Code:
a2enmod actions fcgid alias proxy_fcgi

puis relancez apache2

Code:
systemctl restart apache2

dans les modules vous pouvez voir php7.4-fpm. C’est ce qui vous permet de tourner sur plusieurs versions. Donc pour chaque version que vous installerez vous devrez le lancer pour l’utiliser. Pour le démarrer vous lancez la commande

Code:
service php7.4-fpm start
Code:

vous pouvez vérifier son status en tapant

Code:
service php7.4-fpm status

ensuite dans le vhost de votre domaine où vous voulez que votre site tourne en PHP7.4 vous ajoutez

Code:
<FilesMatch \.php$>
      # For Apache version 2.4.10 and above, use SetHandler to run PHP as a fastCGI process server
      SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
    </FilesMatch>

puis vous relancez apache2

Code:
service apache2 restart

et normalement c’est fonctionnel.
N’oubliez pas que si vous changez des informations dans le php.ini vous devez le faire dans

Code:
/etc/php/7.4/fpm/php.ini

puis vous relancez avec

Code:
service php7.4-fpm restart


Définir une version par défaut

Si vous le voulez vous pouvez définir une version par défaut sur votre dédié. Pour se faire tapez

Code:
update-alternatives --config php

puis les options s’affichent avec celle qui a un * est celle par défaut.
Si vous voulez PHP7.4 vous tapez le chiffre en début de ligne puis validez. Faites attention à ce que tout vos services fonctionnent avec cette version.


Désactiver les versions PHP

Si vous voulez vous pouvez désactiver des versions PHP installé. Pour se faire vous tapez

Code:
a2dismod php8.2
a2dismod php8.4
...

et relancez apache2

Code:
systemctl restart apache2
 
Retour
Haut