Configuration des dépôts:

Sur Fedora, les dépôts standards sont suffisant, sur Enterprise Linux (RHEL, CentOS) il est aussi nécessaire de configurer les dépôts Extra Packages for Enterprise Linux (EPEL) et Code Ready Builder (CRB), et sur RHEL 7 d'activer le canal optional.

Fedora 38

dnf install https://rpms.remirepo.net/fedora/remi-release-38.rpm

Fedora 37

dnf install https://rpms.remirepo.net/fedora/remi-release-37.rpm

RHEL version 9.1

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms

RHEL version 8.7

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms

RHEL version 7.9

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
subscription-manager repos --enable=rhel-7-server-optional-rpms

Alma, CentOS Stream, Rocky version 9

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
crb enable

Alma, CentOS Stream, Rocky version 8

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
crb enable

CentOS version 7

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm

 

Utilisation du module php

Pour Fedora et EL 8, il suffit d'utiliser le flux remi-8.2 du module php

dnf module reset php
dnf module install php:remi-8.2

 

Activation du dépôt remi-php82

Les paquets sont dans les dépôts remi-safe (activé par défaut) et remi-php82 qui n'est pas activé par défaut (choix de l'administrateur en fonction de la version de PHP souhaitée).

RHEL et EL 7

yum install yum-utils
yum-config-manager --enable remi-php82

 

Mise à jour de PHP

 

Par choix, les paquets ont le même nom que les paquets fournit par défaut avec le système, une simple mise à jour est donc suffisante :

yum update

Et c'est tout :)

$ php -v
PHP 8.2.5 (cli) (built: Apr 11 2023 16:16:23) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.5, Copyright (c), by Zend Technologies

 

Problèmes connus

La mise à jour peut échouer (c'est voulu) lorsque certaines extensions présentes ne sont pas encore compatibles avec PHP 8.2.

Voir la liste des compatibilités : PECL extensions RPM status

Si elles ne sont pas indispensables, vous pouvez les désinstaller avant la mise à  jour, sinon, il faudra patienter.

Attention : quelques extensions sont encore en phase de développement, mais il m'a semblé utile de les fournir afin de permettre la mise à jour au plus grand nombre, et aussi permettre leur test et des retours vers les auteurs.

 

Plus d'informations

Si vous souhaitez une installation en parallèle de la version par défaut de PHP, cela est possible en utilisant les paquets préfixés php82 Voir le billet PHP 8.2 en Software Collection.

Vous pouvez aussi utiliser l'assistant de configuration.

Les paquets présents dans le dépôt ont été utilisés comme sources pour Fedora 38.

En fournissant une pile complète, environ 130 extensions disponibles, 9 versions de PHP, paquets de base et SCL, pour Fedora et Enterprise Linux, et avec 300 000 téléchargements par jour, le dépôt remi est devenu en 18 ans une référence pour les utilisateurs de PHP sur les distributions RPM, maintenu par un contributeur actif aux différents projets (Fedora, PHP, PECL...).

Et aussi :