Installer PHP 7.4 sur Debian 10 ou Debian 9

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

6 Comments

  1. 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.

2 Trackbacks / Pingbacks

  1. Mise à jour PHP 7.3 vers PHP 7.4 sur debian 10 buster, fichiers PHP non interprétés – Julien ANNE
  2. OVH: mettre à jour la version PHP de son WordPress – GeekMag

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*