Installer PHP 7.4 sur CentOS, RHEL ou Fedora
Voici un guide rapide pour mettre à jour le PHP fournit par Fedora, RHEL ou CentOS par la dernière version 7.4.
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 le dépôt Extra Packages for Enterprise Linux (EPEL), et sur RHEL 7 d'activer le canal optional.
Fedora 31
dnf install https://rpms.remirepo.net/fedora/remi-release-31.rpm
Fedora 30
dnf install https://rpms.remirepo.net/fedora/remi-release-30.rpm
RHEL version 8.1
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
RHEL version 7.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 subscription-manager repos --enable=rhel-7-server-optional-rpms
CentOS version 8.0
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
CentOS version 7.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 modular et RHEL / CentOS 8, il suffit d'utiliser le flux remi-7.4 du module php
dnf module reset php dnf module install php:remi-7.4
Activation du dépôt remi-php74
Les paquets sont dans les dépôts remi-safe (activé par défaut) et remi-php74 qui n'est pas activé par défaut (choix de l'administrateur en fonction de la version de PHP souhaitée).
RHEL et CentOS 7
yum install yum-utils yum-config-manager --enable remi-php74
Fedora
dnf config-manager --set-enabled remi-php74
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 7.4.0 (cli) (built: Nov 26 2019 20:13:36) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.0, 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 7.4.
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 php74 Voir le billet PHP 7.4 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 source pour Fedora 32 (la proposition de changement, a déjà été acceptée et est testable).
En fournissant une pile complète, environ 130 extensions disponibles, 6 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 14 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 :