f4b1.com
***

Installer PHP 7 avec Dotdeb et Nginx sous Debian 8 Jessie

By Admin on 2017-05-21 09:29:18

Nombre de vues : 17178


Alors que la nouvelle version de PHP est maintenant disponible depuis quelques mois, il est maintenant venu le temps de mettre à jour les serveurs sous Debian. Malheureusement pour le moment, PHP 7 n’est pas encore disponible sous Debian 8 et il faudra vraisemblablement attendre la version 9 de la distribution Linux.

Pas de panique, il est bien évidemment possible d’installer PHP 7.0 sous Debian 8 en passant par un dépôt maintenu par la communauté de passionnés. Il s’agit du dépôt Dotdeb qui permet de profiter des dernières nouveautés et de récupérer les dernières versions de php facilement.

Vu les performances offertes par PHP 7.x par rapport à la branche 5.x, il serait vraiment dommage de ne pas en profiter. De plus avec un serveur web sous NGINX qui est très léger, il est possible d’avoir de très bons résultats même sur de petits serveurs. De plus l’empreinte mémoire est beaucoup moins élevée qu’auparavant et l’exécution du code est bien mieux optimisée avec une charge sur le processeur plus légère.

Si cela n’est pas encore fait, il faut faire l’installation basique de Nginx :

apt-get install nginx

Passons à la pratique, il faudra dans un premier temps récupérer le dépôt de Dotdeb :

echo "deb http://packages.dotdeb.org jessie all" > /etc/apt/sources.list.d/dotdeb.list 
wget -O- https://www.dotdeb.org/dotdeb.gpg | apt-key add - 
apt update

Une fois ceci fait, nous pouvons passer au téléchargement PHP 7 ainsi que les dépendances qui sont indispensables pour la plupart des projets, vous pouvez bien entendu affiner cette liste selon vos besoins :

apt install php7.0 php7.0-fpm php7.0-mysql php7.0-sqlite3 php7.0-curl php7.0-json php7.0-gd php7.0-mcrypt php7.0-mbstring php7.0-xml php7.0-zip  php7.0-msgpack  php7.0-memcached php7.0-geoip  php7.0-gmp  php7.0-intl

Ensuite vous pouvez aller dans votre configuration nginx dans le dossier site-available pour modifier l’appel concernant PHP. Par exemple, pour le fichier default si vous avez seulement cette configuration (sinon il faudrait d’autres modifications ailleurs pour que cela s’applique partout), la ligne à modifier se trouve dans le bloc :

location ~ \.php$ { […] }

Il faudra remplacer : unix:/var/run/php5-fpm.sock  par unix:/var/run/php/php7.0-fpm.sock pour la valeur fastcgi_pass.

nginx -t

Elle vous indique si vous avez fait une erreur de syntaxe par exemple que vous avez généré en modifiant le fichier de configuration. Si tout semble ok, vous pouvez relancer le service nginx avec :

sudo /etc/init.d/nginx restart

Une fois nginx redémarré, vous pouvez faire un index.php avec la fonction phpinfo() dedans à la racine du dossier par defaut pour voir si la page est bien servie avec PHP 7.x installé via votre navigateur.

Lorsque que vous avez modifié tout vos fichiers de configuration et que vous utilisez seulement PHP 7.x, vous pouvez passer au nettoyage en supprimant l’installation de la branche de PHP 5.x. Selon votre installation, pour tout supprimer vous pouvez essayer les commandes suivantes :

systemctl stop php5-fpm 
apt-get autoremove --purge php5*

Ou encore :

apt-get remove dh-php5 libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-dev php5-fpm php5-gd php5-intl php5-json php5-mcrypt php5-memcache php5-memcached php5-mysql php5-readline php5-tidy

Normalement après tout ça, vous avez un serveur nginx tout propre sous PHP 7.x qui devrait vous offrir de meilleures performances avec la même configuration.