PHP est l’un des langages les plus populaires du web car il est libre et permet de créer des pages Web dynamiques via un serveur HTTP (ex:Apache). Environ 8 sites sur 10 reposes sur PHP. Ce langage est devenu indispensable pour faire fonctionner les CMS les plus populaires tel que WordPress. Problème, si vous utilisez une vieille version de PHP, vous exposez votre site à des vulnérabilités de sécurité (exemple: PHP 5.5 n’a pas été patché depuis 2016) et vous ne bénéficiez pas des optimisations de performances des derrières versions ( PHP 7 permet au système d’exécuter deux fois plus de requêtes par seconde que PHP 5.6, avec presque la moitié de la latence.) De plus pour les développeurs, il est compliqué de maintenir une compatibilité avec les différentes versions.C’est pour cela que outils tel que WordPress affichent des alertes vous incitant à faire une mise à jour. Le tuto ci-dessous, va vous guider pas à pas pour déployer la version 7.3 de PHP sur Debian 9 (Stretch) et Debian 8 (Jessie).
Pour commencer, vérifier que votre système est à jour.
sudo apt update
sudo apt upgrade -y
Ensuite ajoutez le dépôt
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/php7.3.list
Puis passez à l’installation de PHP 7.3 sur Debian 8 ou 9
sudo apt update
sudo apt -y install php7.3
Vous pouvez maintenant vérifier que la version est bien installée
php -v
PHP 7.3.0-2+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 17 2018 09:22:47) ( NTS )
Avant derrière étape, il faut procéder à l’installation des extensions PHP. Ces dernières dépendent de vos besoins et des CMS utilisés.
Exemple pour installer le module Apache pour PHP
sudo apt install libapache2-mod-php7.3
Vous pouvez installer plusieurs extensions en une seule fois, exemple ci-dessous avec des librairies couramment utilisées:
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json
Maintenant que PHP est installé, il faut configurer Apache pour qu’il le prenne en compte.
Pour commencer, il faut désactiver le module actuellement actif, PHP 5 dans l’exemple ci-dessous
a2dismod php5
Module php5 disabled.
Puis activer PHP 7
a2enmod php7.0
Enabling module php7.0.
Enfin redémarrez Apache pour que la modification soit prise en compte.
systemctl restart apache2
À la dernière étape il y a une erreur :
– ici le tuto semble supposer que seul php5 est installé
– dans le cas où php 7.0 est installé il faut faire :
a2dismod php7.0
– et pour activer 7.3 il faut faire :
a2enmod php7.3
(au lieu de a2enmod php7.0)