Sur ce tutoriel, je vais vous montrer comment installer PHP 5.6 sur Debian en utilisant le dépôt fourni par sury.org.
Installation du dépôt Sury.org
L’ajout du dépôt Sury.org requiert quelques dépendances :
apt-get -y install apt-transport-https lsb-release ca-certificates
Ensuite, il faut importer la clé GPG du dépôt :
wget -q -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Enfin, nous pouvons ajouter le dépôt dans les configurations de apt :
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
Installation de PHP 5.6 depuis les dépôts Sury.org
Commençons par rafraîchir la liste des paquets dans apt, suite à l’ajout du dépôt :
apt-get update
Ensuite, entamons le vif du sujet :
apt-get -y install php5.6 php5.6-common php5.6-gd php5.6-mysql php5.6-imap php5.6-cli php5.6-cgi php-pear php5.6-curl php5.6-intl php5.6-pspell php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php-memcache php-imagick php-gettext php5.6-zip php5.6-mbstring php5.6-soap php5.6-memcached php5.6-redis php5.6-fpm
Configuration de PHP 5.6
Si vous souhaitez ensuite modifier la version PHP par défaut du CLI, utilisez la commande suivante :
update-alternatives --config php
Vous pouvez faire la même chose pour PHP-CGI :
update-alternatives --config php-cgi
Remarque : Changer la version PHP par défaut du CLI peut engendrer des comportements inattendu chez certains outils utilisant /usr/bin/php pour accéder à PHP, sans vérifier sa version. C’est notamment le cas d’ISPConfig dans ses crons, ainsi que de Roundcube lors de l’exécution de certains scripts durant l’installation/mise à jour.
Je vous recommanderai plutôt de modifier la version PHP par défaut du CLI uniquement sur un seul utilisateur shell qui est celui du site qui en a besoin. J’écrirai bientôt un tutoriel à ce sujet.
Ajout dans ISPConfig
Si vous utilisez ISPConfig, vous pouvez ajouter cette nouvelle installation dans ISPConfig > Système > Version PHP additionnelles. Vous mettez les valeurs suivantes :
- PHP Name : le nom dont vous souhaitez afficher sur la liste à dérouler. J’ai mis « PHP 5.6 » pour ma part.
- FastCGI Settings > Path to the PHP FastCGI binary : php-cgi5.6
- FastCGI Settings > Path to the php.ini directory : /etc/php/5.6/cgi/php.ini
- PHP-FPM Settings > Path to the PHP-FPM init script : php5.6-fpm
- PHP-FPM Settings > Path to the php.ini directory : /etc/php/5.6/cgi/php.ini
- PHP-FPM Settings > Path to the PHP-FPM pool directory : /etc/php/5.6/fpm/pool.d
Bonus : script d’installation
Voici en bonus un script d’installation/mise à jour complet que j’ai créé pour vous. Elle permet d’installer PHP 5.6 depuis les dépôts sury.org, garde la version de PHP par défaut inchangée, et ajoute PHP 5.6 dans ISPConfig. Elle empêche également le démarrage du service PHP-FPM associé si aucun site n’est configuré sur cette version de PHP dans ISPConfig, empêchant ainsi de perdre inutilement des ressources (CPU, RAM, disque …).
L’utilisation se fait en une seule ligne et est totalement automatisée :
curl -s https://scripts.ratefiarison.com/raw/debian-install-php5.6-sury | bash