Attention, le package PHP 7 utilisé dans cet article n’est disponible que pour les distributions 14.04 LTS, 15.10, 16.04 d’Ubuntu. Ce sont les distributions actuellement supportées par Canonical. Si jamais vous utilisez une version plus ancienne, il faut compiler directement PHP à partir des sources.

PHP, quelle version sur quelle distribution

L’utilitaire apt utilise des sources distantes pour découvrir et installer les logiciels sur votre machine. Dans les dépôts par défaut, voici les versions de PHP disponibles au moment de l’écriture de cet article :

La version 5.5.x de PHP n’est plus supportée actuellement. Seulement les patchs de sécurité sont publiés. Il n’est donc pas conseillé de l’utiliser en production. La version 5.6.x est supportée jusqu’en janvier 2017 ce qui laisse un peu de marge pour la migration.
Pour plus de détail sur le support officiel: https://secure.php.net/supported-versions.php

Déclaration du dépôt

Comme les versions par défaut sont un peu vieillissante, des dépôts logiciels alternatifs sont mis en place et maintenus. Pour PHP 7, c’est Ondřej Surý qui s’en charge sur launchpad.net. Il gère le package officiel de PHP pour Debian, on peut donc s’attendre à ce que son dépôt soit solide et fiable.

Pour cela, il faut utiliser l’outil add-apt-repository disponible dans le paquet software-properties-common.

apt-get update
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php

Il est aussi possible d’éditer le fichier /etc/apt/sources.list et de rajouter la ligne suivante :

deb http://ppa.launchpad.net/ondrej/php/ubuntu wily main

Attention de définir la bonne version d’Ubuntu. J’utilise ici la 15.10, nom de code wily.

Installation de PHP 7

Si vous avez déjà une version de PHP5 installée et configurée, il faut la supprimer :

apt-get purge php5

Ensuite, on peut lancer l’installation de PHP 7 :

apt-get update
apt-get install php7.0 php7.0-cli

On vérifie que l’installation est effective après cette dernière manipulation :

php -v
  PHP 7.0.3-5+deb.sury.org~wily+1 (cli) ( NTS )
  Copyright (c) 1997-2016 The PHP Group
  Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
  with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Si besoin, vous pouvez installer tous les packages spécifiques utiles à votre projet : php7.0-curl, php7.0-json, php7.0-mysql, …
Vous pouvez obtenir la liste exhaustive avec la commande :

apt-cache search php7.0

Les configurations sont placées dans un emplacement légèrement différent du package PHP officiel :

  • /etc/php/7.0/apache2 pour les modules à utiliser en exécution Apache
  • /etc/php/7.0/cli pour les modules à utiliser en ligne de commande

L’objectif de ce changement de répertoire est de permettre l’installation de plusieurs versions de PHP sur le même serveur nativement. Chacune des versions aurait sont propre répertoire dans /etc/php.

Plus d’excuse maintenant pour ne pas installer et utiliser PHP 7 sur votre serveur. Il suffit ensuite de suivre le guide de migration officiel pour vous assurer de la compatibilité de vos développements.

Si vous avez des questions ou des problèmes avec cette installation, n’hésitez pas à me le faire savoir en commentaire !


Fin 2017, le support actif de PHP 7.0 arrive à son terme, êtes vous prêt à faire la migration ?