Voici un guide rapide pour mettre à jour le PHP fournit par Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux ou les autres clones, par la dernière version 8.2.
Vous pouvez aussi suivre les instructions de l’assistant de configuration.
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 :