У меня есть сервер, на котором сейчас работают CentOS 7.6 и PHP 7.1.25. Я хочу обновить свою версию PHP до версии 7.3 (выпущенной 6 декабря), но у меня возникли проблемы.
Я выполнил это руководство , но когда я запустил yum update
, он вызывает следующую ошибку:
# yum update
Loaded plugins: priorities
4509 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package php-mcrypt.x86_64 0:7.1.25-2.el7.remi will be obsoleted
---> Package php-pecl-mcrypt.x86_64 0:1.0.1-8.el7.remi.7.3 will be obsoleting
--> Processing Dependency: php(api) = 20180731-64 for package: php-pecl-mcrypt-1.0.1-8.el7.remi.7.3.x86_64
--> Processing Dependency: php(zend-abi) = 20180731-64 for package: php-pecl-mcrypt-1.0.1-8.el7.remi.7.3.x86_64
--> Finished Dependency Resolution
Error: Package: php-pecl-mcrypt-1.0.1-8.el7.remi.7.3.x86_64 (remi-php73)
Requires: php(api) = 20180731-64
Installed: php-common-7.1.25-2.el7.remi.x86_64 (@remi-php71)
php(api) = 20160303-64
Available: php-common-5.4.45-15.el7.remi.x86_64 (remi)
php(api) = 20100412-64
Available: php-common-5.4.45-16.el7.remi.x86_64 (remi)
php(api) = 20100412-64
Available: php-common-7.1.25-1.el7.remi.x86_64 (remi-php71)
php(api) = 20160303-64
Available: php56u-common-5.6.37-1.ius.centos7.x86_64 (ius)
php(api) = 20131106-64
Available: php56u-common-5.6.38-1.ius.centos7.x86_64 (ius)
php(api) = 20131106-64
Available: php70u-common-7.0.31-1.ius.centos7.x86_64 (ius)
php(api) = 20151012-64
Available: php70u-common-7.0.32-1.ius.centos7.x86_64 (ius)
php(api) = 20151012-64
Available: php71u-common-7.1.22-1.ius.centos7.x86_64 (ius)
php(api) = 20160303-64
Available: php71u-common-7.1.23-1.ius.centos7.x86_64 (ius)
php(api) = 20160303-64
Available: php71u-common-7.1.24-1.ius.centos7.x86_64 (ius)
php(api) = 20160303-64
Available: php72u-common-7.2.10-1.ius.centos7.x86_64 (ius)
php(api) = 20170718-64
Available: php72u-common-7.2.11-1.ius.centos7.x86_64 (ius)
php(api) = 20170718-64
Available: php72u-common-7.2.12-1.ius.centos7.x86_64 (ius)
php(api) = 20170718-64
Error: Package: php-pecl-mcrypt-1.0.1-8.el7.remi.7.3.x86_64 (remi-php73)
Requires: php(zend-abi) = 20180731-64
Installed: php-common-7.1.25-2.el7.remi.x86_64 (@remi-php71)
php(zend-abi) = 20160303-64
Available: php-common-5.4.45-15.el7.remi.x86_64 (remi)
php(zend-abi) = 20100525-64
Available: php-common-5.4.45-16.el7.remi.x86_64 (remi)
php(zend-abi) = 20100525-64
Available: php-common-7.1.25-1.el7.remi.x86_64 (remi-php71)
php(zend-abi) = 20160303-64
Available: php56u-common-5.6.37-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20131226-64
Available: php56u-common-5.6.38-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20131226-64
Available: php70u-common-7.0.31-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20151012-64
Available: php70u-common-7.0.32-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20151012-64
Available: php71u-common-7.1.22-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20160303-64
Available: php71u-common-7.1.23-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20160303-64
Available: php71u-common-7.1.24-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20160303-64
Available: php72u-common-7.2.10-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20170718-64
Available: php72u-common-7.2.11-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20170718-64
Available: php72u-common-7.2.12-1.ius.centos7.x86_64 (ius)
php(zend-abi) = 20170718-64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Я подумал, давайте просто установим php (api) = 20180731-64
вручную, поэтому я поискал в Google этот пакет, который привел меня к этой странице , и я попытался установить php73-php-common
, в результате чего я получил эту ошибку:
# yum --enablerepo=remi install php73-php-common
Loaded plugins: priorities
4509 packages excluded due to repository priority protections
Package php73-php-common-7.3.0-1.el7.remi.x86_64 already installed and latest version
Nothing to do
Что я делает неправильно / отсутствует? Как мне обновить PHP 7.1 до PHP 7.3?
Ответ в вашем выводе
Загруженные плагины: приоритеты
4509 пакетов исключены из-за защиты приоритета репозитория
Так что вам нужно исправить приоритет, чтобы репозиторий remi-php73 имел больший приоритет (меньшее число), чем любой другой репозиторий.
Другой способ - удалить приоритетный плагин.
.yum-плагин-замена работает на меня
::Пример ::
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum -y install yum-плагин-замена
yum -y replace phpxxx-common --replace-with=phpyyy-common