Installer plusieurs versions de PHP avec les Software Collection sous CentOS 7

Les Software Collection (SCL) permettent d’installer plusieurs versions d’un programme sur un même système, c’est le choix parfait pour avoir plusieurs versions de PHP installées sur un même serveur web.


Ajouter PHP 7.3 à mon serveur

Sur mon serveur web Nginx, je possède plusieurs versions de PHP, notamment un vieux PHP 5.4 pour de vieux projets et PHP 7.0. Je veux mettre à jour mes sites en PHP 7.3 avec les SCL.

Installation de PHP 7.3

yum install php73

L’installation est maintenant faite dans le répertoire /opt/remi/php73, la configuration quant à elle est dans /etc/opt/remi/php73.

Pour installer d’autres modules PHP 7.3, il faut le faire en préfixant les paquets par php73-, comme ceci :

yum install php73-php-json php73-php-pecl-memcached php73-php-xml php73-php-fpm php73-php-mcrypt php73-php-mbstring php73-php-pecl-mysql php73-php-pdo php73-php-pecl-igbinary php73-php-mysqlnd php73-php-gd php73-php-tidy

Configuration du pool de PHP FPM

La configuration du pool se fait dans le fichier /etc/opt/remi/php73/php-fpm.d/www.conf. Par défaut FPM écoute sur un socket TCP, moi j’utilise un socket UNIX, voici le contenu des parties éditées du fichier www.conf, le reste ne change pas :

user = nginx
group = nginx
listen = /var/opt/remi/php73/run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0666

Je démarre le service PHP FPM pour PHP 7.3 et je l’active au démarrage du serveur :

systemctl start php73-php-fpm
systemctl enable php73-php-fpm

Pour rappel, voici la partie relative à PHP FPM de la configuration d’un server Nginx :

location ~ \.php$ {
        include                         fastcgi_params;
        fastcgi_intercept_errors        on;
        fastcgi_read_timeout            240s;
        fastcgi_pass                    unix:/var/opt/remi/php73/run/php-fpm/www.sock;
        fastcgi_index                   index.php;
        fastcgi_param                   SCRIPT_FILENAME  $document_root	$fastcgi_script_name;
}

Tout site avec cette configuration fastCGI devrait désormais fonctionner avec PHP 7.3.

Laisser un commentaire

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