GNU/Linux >> Tutoriels Linux >  >> Cent OS

Installer / Mettre à niveau vers PHP 7.1 sur CentOS 7 / RHEL 7 à l'aide de Remi RPM Repo

Il y a quelques jours, j'ai dû mettre à niveau vers PHP 7.1 sur le serveur nixcp.com, c'était une mise à jour majeure puisque j'utilisais PHP 5.6.x.

C'était en haut de ma liste de tâches après avoir lu que PHP 7.1 était 20% plus rapide que PHP 7.0 (et nous savons tous que PHP 7.0 est environ deux fois plus rapide que PHP 5.6.x), car je suis obsédé par la vitesse du Web et le Web performances, c'était l'occasion de tester PHP 7.1 et ses avantages.

Installer PHP 7.1 sur CentOS 7 étape par étape

Après avoir recherché si toutes mes applications PHP étaient compatibles, j'ai lancé le processus de mise à niveau de PHP 5.6.x vers PHP 7.1 sur CentOS 7.x 64 bits. C'est la procédure que j'ai utilisée sur mon serveur.

Obtenez une liste de tous vos packages PHP actuels, juste au cas où :

rpm -qa | grep php

Cela devrait ressembler à ceci :

[[email protected]:~]rpm -qa | grep php
php-common-5.6.30-1.el7.remi.x86_64
php-pear-1.10.3-1.el7.remi.noarch
php-pecl-memcache-3.0.8-4.el7.remi.5.6.x86_64
php-devel-5.6.30-1.el7.remi.x86_64
php-mysqlnd-5.6.30-1.el7.remi.x86_64
php-mcrypt-5.6.30-1.el7.remi.x86_64
php56-php-common-5.6.30-1.el7.remi.x86_64
php-cli-5.6.30-1.el7.remi.x86_64
php-pecl-jsonc-devel-1.3.10-2.el7.remi.5.6.x86_64
php-pecl-igbinary-2.0.1-1.el7.remi.5.6.x86_64
php-gd-5.6.30-1.el7.remi.x86_64
php-mbstring-5.6.30-1.el7.remi.x86_64
php56-runtime-2.1-5.el7.remi.x86_64
php56-php-pecl-msgpack-0.5.7-1.el7.remi.x86_64
php-5.6.30-1.el7.remi.x86_64
php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64
php-xml-5.6.30-1.el7.remi.x86_64
php-process-5.6.30-1.el7.remi.x86_64
php-xcache-3.2.0-1.el7.remi.5.6.x86_64
php-pecl-memcached-2.2.0-3.el7.remi.5.6.x86_64
php-soap-5.6.30-1.el7.remi.x86_64
php-opcache-5.6.30-1.el7.remi.x86_64
php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64
php56-php-pecl-igbinary-2.0.1-1.el7.remi.x86_64
php-pdo-5.6.30-1.el7.remi.x86_64
php-fpm-5.6.30-1.el7.remi.x86_64
php56-php-pecl-zip-1.13.5-1.el7.remi.x86_64
php-pecl-zip-1.13.5-1.el7.remi.5.6.x86_64
php-pecl-msgpack-0.5.7-1.el7.remi.5.6.x86_64
php-xmlrpc-5.6.30-1.el7.remi.x86_64
[[email protected]:~]

Installer Remi Repo pour CentOS 7.x

J'ai déjà installé le dépôt de Remi, mais si ce n'est pas le cas, vous pouvez le faire en utilisant ces commandes :

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Après cela, activez les packages PHP-71 à partir de votre référentiel Remi, exécutez cette commande :

yum-config-manager --enable remi-php71

Sortie attendue :

[[email protected]:~]yum-config-manager --enable remi-php71
Loaded plugins: fastestmirror, langpacks
==== repo: remi-php71 =======
[remi-php71]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/7/remi-php71
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = True
enablegroups = True
...
...
...

Lancez ensuite yum update :

yum update -y

Si vous n'effectuez pas de mise à niveau et souhaitez simplement installer PHP 7.1 sur CentOS 7, exécutez simplement :

yum install php php-devel php-gd php-mbstring php-mcrypt php-soap php-mysqlnd

Il devrait mettre à jour tous vos packages PHP actuels vers PHP 7.1, comme vous le voyez ci-dessous :

Si vous rencontrez ce problème :

You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
php-5.6.30-1.el7.remi.x86_64 has missing requires of httpd-mmn = ('0', '20120211x8664', None)

Cela peut être corrigé en installant le package httpd, que je n'utilise pas mais qui est obligatoire :

yum install httpd -y

Après cela, j'ai désactivé httpd du processus de démarrage pour m'assurer qu'il n'essaiera pas de démarrer avec Nginx et provoquera un conflit de port 80 :

systemctl disable httpd

Supprimer Xcache, car pour autant que je sache, il n'est pas disponible pour PHP 7.1.x

yum remove php-xcache* -y

Si vous conservez Xcache, cela peut entraîner une erreur yum comme vous le voyez ci-dessous :

--> Finished Dependency Resolution
Error: Package: 1:php-xcache-3.2.0-1.el7.remi.5.6.x86_64 (@remi-php56)
Requires: php(zend-abi) = 20131226-64
Removing: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
php(zend-abi) = 20131226-64
Updated By: php-common-7.1.3-1.el7.remi.x86_64 (remi-php71)
php(zend-abi) = 20160303-64
Available: php-common-5.4.16-42.el7.x86_64 (base)
php(zend-abi) = 20100525-64
Available: php-common-5.6.29-1.el7.remi.x86_64 (remi-php56)
php(zend-abi) = 20131226-64
Available: php-common-7.1.2-1.el7.remi.x86_64 (remi-php71)
php(zend-abi) = 20160303-64
Error: Package: 1:php-xcache-3.2.0-1.el7.remi.5.6.x86_64 (@remi-php56)
Requires: php(api) = 20131106-64
Removing: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
php(api) = 20131106-64
Updated By: php-common-7.1.3-1.el7.remi.x86_64 (remi-php71)
php(api) = 20160303-64
Available: php-common-5.4.16-42.el7.x86_64 (base)
php(api) = 20100412-64
Available: php-common-5.6.29-1.el7.remi.x86_64 (remi-php56)
php(api) = 20131106-64
Available: php-common-7.1.2-1.el7.remi.x86_64 (remi-php71)
php(api) = 20160303-64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Une chose que j'ai remarquée :quelques packages sont toujours de la version PHP 5.6 :

[[email protected]:~]rpm -qa | grep php56
php56-php-common-5.6.30-1.el7.remi.x86_64
php56-runtime-2.1-5.el7.remi.x86_64
php56-php-pecl-msgpack-0.5.7-1.el7.remi.x86_64
php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64
php56-php-pecl-igbinary-2.0.1-1.el7.remi.x86_64
php56-php-pecl-zip-1.13.5-1.el7.remi.x86_64

Supprimez-les et installez les versions 7.1 de Remi :

yum remove php56*
yum install yum install php71-php-common php71-runtime php71-php-pecl-msgpack php71-php-pecl-jsonc php71-php-pecl-igbinary php71-php-pecl-zip

Et la mise à niveau de PHP 5.6 vers PHP 7.1 était terminée.

Enfin, assurez-vous de redémarrer votre http et php-fpm pour appliquer les modifications :

systemctl restart nginx
systemctl restart php-fpm

C'est tout, vous savez maintenant comment mettre à niveau ou installer PHP 7.1 sur CentOS 7. N'hésitez pas à me faire savoir si vous avez des questions ou des problèmes en suivant ce didacticiel.

Installer / Mettre à niveau vers PHP 7.1 sur CentOS 7 / RHEL 7 à l'aide de Remi RPM Repo Dernière modification :5 avril 2017 par Esteban Borges
Cent OS
  1. Comment installer ou mettre à niveau vers PHP 7 sur CentOS 7 Linux Server

  2. Comment installer PHP 7.4 / 7.3 / 7.2 sur CentOS 7 / RHEL 7 et CentOS 6 / RHEL 6

  3. Installer PHP 7.4 sur CentOS 8

  4. [Linux] :comment mettre à niveau de force php de 5.1.6 à 5.3.3 en utilisant yum sur CentOS/Fedora/RHEL

  5. Mettre à niveau PHP 5.3 vers PHP 7.0 en utilisant yum sur CentOS/RHEL/Fedora

Comment installer/mettre à niveau Systemd sur RHEL/CentOS 7

Comment installer OpenLiteSpeed, PHP 7.0 et MariaDB sur CentOS 7 / RHEL 7

Comment installer Remi Repo dans RHEL, CentOS, Rocky et AlmaLinux

Comment installer Flameshot sur RHEL/CentOS à l'aide de Snapcraft

Comment installer PHP 7.4 sur CentOS 8 | RHEL 8

Comment installer PHP 8 sur CentOS/RHEL 8/7