Dans cet article nous allons voir comment installer PHP7.4 et PHP7.4-fpm, ce tuto s’applique aussi à une migration de PHP7.2 Installer PHP7.2 et PHP7.2-FPM sur Debian vers 7.4. La procédure n’a pas évolué.
CHOIX DU DÉPÔT
Nous allons utiliser le dépôt de Ondrey Sury.
Commencer par passer sudo sur votre machine pour ajouter la nouvelle source des paquets PHP, pour ensuite les installer.
sudo apt -y install lsb-release apt-transport-https ca-certificates sudo 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" | sudo tee /etc/apt/sources.list.d/php.list
La dernière étape avant installation de php 7.4 , va être de faire l’update du package du système
sudo apt update
Installation de php 7. 4
sudo apt-get install php7.4 php7.4-opcache libapache2-mod-php7.4 php7.4-mysql php7.4-curl php7.4-json php7.4-gd php7.4-intl php7.4-mbstring php7.4-xml php7.4-zip php7.4-fpm php7.4-readline
Redemarrons Apache.
service apache2 restart
A ce stade PHP7.4 est installé, vous pouvez vérifier l’installation via un phpinfo à mettre dans un fichier PHP
<?php phpinfo();
VÉRIFICATION DE LA VERSION CLI
La commande php -v doit vous donner le résultat suivant :
ACTIVATION DE PHP7.4-FPM
Le module PHP a l’inconvénient de surcharger le serveur, car chaque process Apache est rattaché à un moteur PHP complet. L’utilisation de PHP-FPM permet de résoudre ce problème. En effet PHP-FPM est lancé en tant que processus séparé du serveur http. Il peut donc être lancé avec un (ou plusieurs) comptes, différents de celui utilisé par le serveur http, afin d’améliorer la sécurité, ou d’utiliser des paramétrages PHP différents selon les différents pools de connexions utilisés.
Attention l’ajout de PHP-FPM ne semble fonctionner correctement qu’à partir de la version d’Apache 2.4.9, avant cette version, Apache ne pouvait pas utiliser les sockets Unix pour communiqer correctement avec le serveur PHP-FPM
Il faut donc activer le module proxy_fcgi, setenvif, désactiver le module PHP, et activer la conf PHP7.4-FPM
a2enmod proxy_fcgi setenvif a2enconf php7.4-fpm a2dismod php7.4
Puis allons redémarrer les services apache2 et php7.4-fpm
systemctl reload apache2 systemctl restart php7.4-fpm
Si vous ré-affichez votre phpinfo, vous verrez que PHP7.4-FPM est bien activé et fonctionne.