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 :
- 5.5.9 sur trusty, la 14.04 LTS ;
- 5.6.11 sur wily, la 15.10 ;
- 5.6.17 sur xenial, la 16.04.
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 ?