PHP 7.4 est disponible depuis le 29 novembre 2019. Le tutoriel ci-dessous, va vous guider pas à pas pour déployer la version 7.4 de PHP sur Debian 10 (Buster) et Debian 9 (Stretch).
Pour commencer, vérifier que votre système est à jour.
sudo apt-get update && apt-get –yes –force-yes –fix-missing –auto-remove
sudo apt list --upgradable
Télécharger la clé GPG.
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
Ensuite ajoutez le dépôt PPA
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
Puis passez à l’installation de PHP 7.4 pour Debian 9 ou 10
sudo apt update
sudo apt -y install php7.4
Vous pouvez maintenant vérifier que la version est bien installée
php -v
PHP 7.4.2 (cli) (built: Jan 23 2020 14:16:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.2, Copyright (c), by Zend Technologies
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.4
Vous pouvez maintenant installer plusieurs extensions en une seule fois selon vos besoins.
Exemple ci-dessous avec des librairies couramment utilisées:
sudo apt-get install php7.4-{common,bcmath,bz2,intl,gd,mbstring,mysql,zip,cli,fpm,json,pdo,mbstring,curl,xml,imagick,tidy,xmlrpc,dev,imap,opcache,soap} -y
Maintenant que les modules PHP sont installés, il faut configurer Apache pour qu’il charge la version 7.4.
Pour commencer, il faut désactiver le module actuellement actif, PHP 7.3 dans l’exemple ci-dessous
sudo a2dismod php7.3
Module php7.3 disabled.
Puis activer PHP 7.4
sudo a2enmod php7.4
Enabling module php7.0.
Enfin redémarrez Apache pour que la modification soit prise en compte.
service apache2 restart
Vous pouvez maintenant configurer les paramètres dans le fichier de conf ci-dessous:
Vous pouvez par exemple augmenter la taille maximale pour le téléversement de fichiers (la limite de 2M par défaut est souvent trop limité notamment pour restaurer les fichiers XML de WordPress)
vi /etc/php/7.4/apache2/php.ini
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M
Après cette montée de version, il est conseillé de purger les versions obsolète qui trainent sur votre serveur.
Pour cela, identifier les versions présente:
ls -lrt /etc/php
5.6 7.0 7.4
Supprimer les anciennes versions de PHP
Dans l’exemple ci-dessous, nous supprimons la version 7.3. (répétez la commande pour chaque version)
sudo apt purge php7.3 libapache2-mod-php7.3
Voilà comme vous pouvez le vérifier avec cette commande tout est bien installé
apt-cache policy php7.4
php7.4:
Version table:
7.4.2-1+0~20200123.9+debian9~1.gbp74d994 500
500 https://packages.sury.org/php stretch/main amd64 Packages
Merci de ton post et de la clarté de celui-ci pour le noob que je suis… J’ai réussi du premier coup.
Bonjour,
En suivant ce tuto,que j’ai suivi ligne par ligne, j’ai désinstallé la version 7.0.33 de PHO sur un Debian 9.
Après l’installation de la 7.4.5, phpinfo me donne toujurs 7.0.33.
Si je tape [php -v] en ligne de commande, j’ai bien la version 7.4.5.
J’aimerai comprendre et pouvez me donner une idée ç suivre.
Merci et bonne journée.
Dans la console:
sudo a2dismod php7.0
sudo a2enmod php7.4
Votre console indique bien php7.4 car c’est la version de PHP CLI qui se met automatiquement après un apt update && apt upgrade. Mais par sécurité, php ne change pas la configuration de apache2. Les commandes ci-dessus corrigent le problème.
Merci pour vos efforts, ça m’a dépanné 👍🏼
Merci beaucoup pour ces explications claires, je m’en suis servi pour mettre à jour PHP7.3 -> PHP7.4 pour mon serveur nextcloud.
Au top !
Super tuto.
Rien à faire que Copier-Coller et tout roule (ce qui est rare avec ce type de tuto)
Bravo et merci