Red Hat et dérivées version SERVEUR

Red Hat, Alma Linux, CentOS : Installer une autre version de PHP grâce aux modules

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières



Introduction



Les distributions Linux d'Entreprise, dont fait partie RedHat (et sa variante gratuite CentOS) ont pour but de durer dans le temps et d'être supportées sur du long terme. De fait, les versions de logiciels sont souvent arrêtées pour garantir une grande stabilité et compatibilité des applicatifs installés. Parfois, en 10 ans, les versions évoluent.
Prenons exemple (qui sert de base à cette page) : CentOS7 est livrée avec PHP5.4. Or, le support est terminé. RedHat patch encore PHP 5.4 pour combler les failles de sécurité. Mais on peut installer en parallèle PHP 7.x.
Le dépôt de Remi est sûr car Remi est un packageur officiel et fiable.

Initialiser le dépôt de Remi dans CentOS



Tout d'abord, on s'assure que le dépôt EPEL est installé :
Code BASH :
yum install epel-release

Ensuite, suivant la version de CentOS :
CentOS 8 :
Code BASH :
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

CentOS 7 :
Code BASH :
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

CentOS 6 :
Code BASH :
yum install https://rpms.remirepo.net/enterprise/remi-release-6.rpm

Liste des versions de PHP disponibles



Sur CentOS 8 : https://rpms.remirepo.net/enterprise/8/
Sur CentOS 7 : https://rpms.remirepo.net/enterprise/7/
Sur CentOS 6 : https://rpms.remirepo.net/enterprise/6/

Installation d'une autre version de PHP sur CentOS



Si vous avez installé PHP de cette manière sur CentOS :
Code BASH :
yum install php php-pdo php-gd 

Il suffit de préfixer chaque paquet de phpXX XX est la version.
Voici un exemple pour installer PHP 7.1 sur CentOS 7 :
Code BASH :
yum install php71-php php71-php-pdo php71-php-gd 

Ou en "one shot" avec les accolades :
Code BASH :
yum install php71-{php,php-pdo,php-gd}

Après toute modif recharger httpd pour prendre en compte le PHP nouvellement installé
Code BASH :
systemctl reload httpd

Si on fait une page avec la fonction phpinfo, on obtient : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.1.32
À noter: les fichiers de config : /etc/opt/remi/phpXX/ où XX est la version de PHP. Exemple : /etc/opt/remi/php71
Merci à Rémi pour son travail : https://rpms.remirepo.net
:magic: