Red Hat et dérivées version SERVEUR

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

Table des matières

red-hat-logo
Ce tutoriel est vérifié avec RHEL, CentOS, AlmaLinux.



Introduction



Les distributions Linux d'Entreprise, dont fait partie RedHat 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) : RHEL7 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 (facultatif)



A partir de RHEL 8, des modules existent pour PHP. Cependant, si vous voulez plus de versions de PHP, vous pouvez installer le dépôt de remi.

Tout d'abord, on s'assure que le dépôt EPEL est installé : https://www.linuxtricks.fr/wiki/rhel-et-derivees-ajouter-des-depots-supplementaires

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

EL 8 :
Code BASH :
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

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

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


Liste des versions de PHP disponibles chez remi :
Sur EL 9 et dérivées : https://rpms.remirepo.net/enterprise/9/
Sur EL 8 et dérivées : https://rpms.remirepo.net/enterprise/8/
Sur EL 7 et dérivées : https://rpms.remirepo.net/enterprise/7/
Sur EL 6 et dérivées : https://rpms.remirepo.net/enterprise/6/

Remplacer la version par défaut de PHP par une plus récente



EL 9 et 8



Il est nécessaire d'installer les Yum utils :
Code BASH :
dnf install dnf-utils


Les paquets à installer portent le même nom que les paquets officiels.
Par exemple, pour installer les paquets de PHP 8.2, on va utiliser les modules de dnf.

On peut lister les modules disponibles avec :

Code BASH :
dnf module list php


Exemple avec RHEL 8.7 et Dépôt de remi :

Code :
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name     Stream          Profiles                      Summary
php      remi-7.2        common [d], devel, minimal    PHP scripting language
php      remi-7.3        common [d], devel, minimal    PHP scripting language
php      remi-7.4        common [d], devel, minimal    PHP scripting language
php      remi-8.0        common [d], devel, minimal    PHP scripting language
php      remi-8.1        common [d], devel, minimal    PHP scripting language
php      remi-8.2        common [d], devel, minimal    PHP scripting language
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name     Stream          Profiles                      Summary
php      7.2 [d] [e]     common [d], devel, minimal    PHP scripting language
php      7.3             common [d], devel, minimal    PHP scripting language
php      7.4             common [d], devel, minimal    PHP scripting language
php      8.0             common [d], devel, minimal    PHP scripting language
Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé


Pour basculer de branche, on pourra utiliser la commande suivante (Exemple pour basculer sur la version 8.2 offerte par Remi) :

Code BASH :
dnf module switch-to php:remi-8.2


Grâce à switch-to, si PHP était déjà installé, les composants sont automatiquement mis à jour (ou rétrogradés) vers la version souhaitée.

Si PHP n'était pas encore installé, on installera PHP comme d'habitude avec les noms classiques des paquets :
Code BASH :
dnf install php php-pdo php-gd 


On recharge le service httpd et php-fpm après chaque installation/mise à jour pour prendre en compte les modifications !
Les fichiers de config sont au même endroit.

EL 6 et 7



Il est nécessaire d'installer les Yum utils :
Code BASH :
yum install yum-utils


Les paquets à installer portent le même nom que les paquets officiels.
Par exemple, pour installer les paquets de PHP 7.3, on active le dépôt remi-php73 :
Code BASH :
yum-config-manager --enable remi-php73


Puis, si PHP est déjà installé :
Code BASH :
yum upgrade


Sinon, par exemple, on installe les paquets PHP comme sur une CentOS classique :
Code BASH :
yum install php php-pdo php-gd 


Comme d'habitude, on recharge le service httpd après chaque installation/mise à jour pour prendre en compte les modifications !
Les fichiers de config sont au même endroit.


Notes supplémentaires



Merci à Rémi pour son travail : https://rpms.remirepo.net
Un assistant est dispo également pour simplifier les choses : https://rpms.remirepo.net/wizard/

:magic:
Cette page a été vue 23959 fois