[Debian 9] Installer PHP7.2 via les dépôts Dotdeb

PHP7 est sorti fin 2015 – il est arrivé pour donner un renouveau au langage, notamment pour être plus rapide et rattraper un certain HHVM…

Attention, avec certaines applications, PHP7 est peut être encore trop récent et risque de vous poser quelques problèmes de compatibilité.

En tant que tel, ce PHP s’installe aussi bien et aussi facilement que les anciennes versions. Toutefois sur Debian, le paquet en version 7 n’est pas encore disponible dans les dépôts Stable – Par conséquent, il va falloir ajouter l’adresse du dépôt pour récupérer les paquets. C’est une des seules solutions que vous avez pour bénéficier de la dernière version de PHP sur votre Debian.

Cet article se base sur un Debian 9.4 Stretch en version stable, au 13/04/2018.

Créez le fichier « /etc/apt/sources.list.d/php7.list« , pour pouvoir ajouter le dépôt où se trouvent les fichiers pour PHP 7.2.Ajouter à la fin du fichier ce dépôt :

deb https://packages.sury.org/php/ stretch main

Enregistrer les modifications du fichier et fermez-le. Il faut ensuite ajouter la paire de clé dans votre trousseau pour pouvoir valider l’identité du serveur Dotdeb et pouvoir télécharger les paquets nécessaires :

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

La configuration préalable est terminée, vous pouvez dès à présent télécharger les paquets pour PHP7 et initier l’installation !

apt update && apt upgrade

Il y a une petite liste de paquets à installer pour avoir une configuration de base stable, fonctionnelle et disposant de quelques dépendances très utiles :

apt install php7.2 php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-gd php7.2-intl php7.2-mbstring php7.2-xml php7.2-zip php7.2-bz2

Avec ces paquets, vous êtes sûr d’avoir une installation complète de PHP pour utiliser vos applications / sites web sans la moindre gêne ! Vos applications web pourront donc se connecter sur une base SQL, bénéficier du JSON et des modules de chiffrement grâce à « mcrypt ». Naturellement, d’autres paquets PHP7 sont disponibles, tout dépend de vos besoins – pour les trouver, vous devrez exécuter un « apt-cache search php7.2« .


BONUS – configuration pour nginx

Il y a deux façons d’utiliser PHP :

  • par socket
  • par port

Si vous souhaitez utiliser un port, vous devez ajouter ce bloc dans la partie  « server { » du fichier de configuration de votre hôte nginx :

location ~ .php$ {
   try_files $uri =404;
   fastcgi_split_path_info ^(.+.php)(/.+)$;
   fastcgi_pass 127.0.0.1:9000;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_read_timeout 60;
   include fastcgi_params;
}


Autrement, vous pouvez passer directement par le socket en utilisant ce bloc :

location ~ .php$ {
   try_files $uri =404;
   fastcgi_split_path_info ^(.+.php)(/.+)$;
   fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_read_timeout 60;
   include fastcgi_params;
}

Les applications / serveurs web ne sont pas exigeants vis-à-vis de l’utilisation du moteur PHP sur votre machine. Vous pouvez donc choisir le mode de communication de PHP selon vos envies et vos autres contraintes.

Pour mettre à jour PHP, la commande est simple : Vous avez juste à effectuer un « apt update && apt upgrade » ! Le dépôt étant déjà authentifié (puisque l’installation est déjà effectuée), vous bénéficierez ainsi de la dernière version disponible sur DotDeb. Après cette mise à jour, le service PHP sera automatiquement redémarré, tout en ayant gardé vos modifications antérieures.


BONUS 2 – Configuration pour Apache2

Pour utiliser PHP sur un serveur Apache2, la configuration est assez simple et souple : il suffit d’installer le paquet correspondant et le tour est joué !

apt install libapache2-mod-php7.2

Par défaut, la configuration est faite et prête à l’emploi. Lorsque le paquet est installé, il suffit de redémarrer le service Apache2 et c’est utilisable instantanément. Plutôt malin !
Il est toutefois possible d’aller plus loin dans la configuration et de l’affiner, notamment pour choisir une écoute sur un port ou sur un socket…

Source

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

2 commentaires

  1. Bonjour,

    il y a une petite faute de frappe, c’est le paquet php7.0-mcrypt et non php7.0-mycrypt qu’il faut installer.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Fermer
Fermer