PHP 8.1 CentOS 7.9 更新问题
PHP 8.1 Update problems with CentOS 7.9
我正尝试按照配置向导上的说明将生产 Web 服务器(在 linode 上)从 php 7.1 更新到 8.1,但似乎存在依赖关系树错误,我'我犹豫是否使用 --skip-broken
以防它破坏我的网络服务器。这是最好的做法吗?如果我在更新后无法解决依赖关系,是否可以轻松恢复更新?我应该先更新到更新的 7.x 版本吗?这是 yum update
的输出:
sudo yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: atl.mirrors.clouvider.net
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirrors.linode.com
* remi-php81: mirror.pit.teraswitch.com
* updates: mirrors.linode.com
remi-php81
remi-php81/primary_db
Resolving Dependencies
--> Running transaction check
---> Package php-cli.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-cli.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-common.x86_64 0:7.1.33-19.el7.remi will be updated
--> Processing Dependency: php(api) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
--> Processing Dependency: php(zend-abi) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
---> Package php-common.x86_64 0:8.1.6-1.el7.remi will be obsoleting
---> Package php-fpm.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-fpm.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-gd.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-gd.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libgd.so.103()(64bit) for package: php-gd-8.1.6-1.el7.remi.x86_64
---> Package php-json.x86_64 0:7.1.33-19.el7.remi will be obsoleted
---> Package php-mbstring.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-mbstring.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libonig.so.105()(64bit) for package: php-mbstring-8.1.6-1.el7.remi.x86_64
---> Package php-mcrypt.x86_64 0:7.1.33-19.el7.remi will be obsoleted
---> Package php-mysqlnd.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-mysqlnd.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-opcache.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-opcache.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-pdo.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-pdo.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-pecl-apcu.x86_64 0:5.1.21-1.el7.remi.7.1 will be updated
---> Package php-pecl-apcu.x86_64 0:5.1.21-1.el7.remi.8.1 will be an update
---> Package php-pecl-igbinary.x86_64 0:3.2.7-1.el7.remi.7.1 will be updated
---> Package php-pecl-igbinary.x86_64 0:3.2.7-1.el7.remi.8.1 will be an update
---> Package php-pecl-mcrypt.x86_64 0:1.0.5-1.el7.remi.8.1 will be obsoleting
---> Package php-pecl-memcache.x86_64 0:4.0.5.2-1.el7.remi.7.1 will be updated
---> Package php-pecl-memcache.x86_64 0:8.0-3.el7.remi.8.1 will be an update
---> Package php-pecl-memcached.x86_64 0:3.2.0-1.el7.remi.7.1 will be updated
---> Package php-pecl-memcached.x86_64 0:3.2.0-1.el7.remi.8.1 will be an update
---> Package php-pecl-mongodb.x86_64 0:1.11.1-1.el7.remi.7.1 will be updated
---> Package php-pecl-mongodb.x86_64 0:1.13.0-1.el7.remi.8.1 will be an update
---> Package php-pecl-msgpack.x86_64 0:2.1.2-1.el7.remi.7.1 will be updated
---> Package php-pecl-msgpack.x86_64 0:2.2.0~RC1-4.el7.remi.8.1 will be an update
---> Package php-pecl-redis.x86_64 0:3.1.6-1.el7.remi.7.1 will be obsoleted
---> Package php-pecl-redis5.x86_64 0:5.3.7-1.el7.remi.8.1 will be obsoleting
--> Processing Dependency: liblzf.so.1()(64bit) for package: php-pecl-redis5-5.3.7-1.el7.remi.8.1.x86_64
--> Processing Dependency: libzstd.so.1()(64bit) for package: php-pecl-redis5-5.3.7-1.el7.remi.8.1.x86_64
---> Package php-pgsql.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-pgsql.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-process.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-process.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-xml.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-xml.x86_64 0:8.1.6-1.el7.remi will be an update
--> Running transaction check
---> Package liblzf.x86_64 0:3.6-7.el7 will be installed
---> Package libzstd.x86_64 0:1.5.2-1.el7 will be installed
---> Package php-common.x86_64 0:7.1.33-19.el7.remi will be updated
--> Processing Dependency: php(api) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
--> Processing Dependency: php(zend-abi) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
---> Package php-gd.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libgd.so.103()(64bit) for package: php-gd-8.1.6-1.el7.remi.x86_64
---> Package php-mbstring.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libonig.so.105()(64bit) for package: php-mbstring-8.1.6-1.el7.remi.x86_64
--> Finished Dependency Resolution
Error: Package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64 (@remi-php71)
Requires: php(api) = 20160303-64
Removing: php-common-7.1.33-19.el7.remi.x86_64 (@remi-php71)
php(api) = 20160303-64
Updated By: php-common-8.1.6-1.el7.remi.x86_64 (remi-php81)
php(api) = 20210902-64
Available: php-common-5.4.16-48.el7.x86_64 (base)
php(api) = 20100412-64
Available: php-common-8.1.5-1.el7.remi.x86_64 (remi-php81)
php(api) = 20210902-64
Error: Package: php-gd-8.1.6-1.el7.remi.x86_64 (remi-php81)
Requires: libgd.so.103()(64bit)
Error: Package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64 (@remi-php71)
Requires: php(zend-abi) = 20160303-64
Removing: php-common-7.1.33-19.el7.remi.x86_64 (@remi-php71)
php(zend-abi) = 20160303-64
Updated By: php-common-8.1.6-1.el7.remi.x86_64 (remi-php81)
php(zend-abi) = 20210902-64
Available: php-common-5.4.16-48.el7.x86_64 (base)
php(zend-abi) = 20100525-64
Available: php-common-8.1.5-1.el7.remi.x86_64 (remi-php81)
php(zend-abi) = 20210902-64
Error: Package: php-mbstring-8.1.6-1.el7.remi.x86_64 (remi-php81)
Requires: libonig.so.105()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Error: Package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64 (@remi-php71)
Requires: php(api) = 20160303-64
apcu_bc 提供与 PHP 7 的旧 APC 扩展的兼容性。
它已被弃用,PHP 8.
不再受支持
所以升级前必须先删除它,如果你真的需要它,你不能升级,必须修复使用它的应用程序才能升级。
Error: Package: php-gd-8.1.6-1.el7.remi.x86_64 (remi-php81)
Requires: libgd.so.103()(64bit)
缺少依赖项在 remi-safe 存储库中,在 wizard instructions
之后,在正确的安装中默认启用
当然,由于这是一次重大升级,您必须确保所有应用程序都已为这个新版本做好准备。
我正尝试按照配置向导上的说明将生产 Web 服务器(在 linode 上)从 php 7.1 更新到 8.1,但似乎存在依赖关系树错误,我'我犹豫是否使用 --skip-broken
以防它破坏我的网络服务器。这是最好的做法吗?如果我在更新后无法解决依赖关系,是否可以轻松恢复更新?我应该先更新到更新的 7.x 版本吗?这是 yum update
的输出:
sudo yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: atl.mirrors.clouvider.net
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirrors.linode.com
* remi-php81: mirror.pit.teraswitch.com
* updates: mirrors.linode.com
remi-php81
remi-php81/primary_db
Resolving Dependencies
--> Running transaction check
---> Package php-cli.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-cli.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-common.x86_64 0:7.1.33-19.el7.remi will be updated
--> Processing Dependency: php(api) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
--> Processing Dependency: php(zend-abi) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
---> Package php-common.x86_64 0:8.1.6-1.el7.remi will be obsoleting
---> Package php-fpm.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-fpm.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-gd.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-gd.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libgd.so.103()(64bit) for package: php-gd-8.1.6-1.el7.remi.x86_64
---> Package php-json.x86_64 0:7.1.33-19.el7.remi will be obsoleted
---> Package php-mbstring.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-mbstring.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libonig.so.105()(64bit) for package: php-mbstring-8.1.6-1.el7.remi.x86_64
---> Package php-mcrypt.x86_64 0:7.1.33-19.el7.remi will be obsoleted
---> Package php-mysqlnd.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-mysqlnd.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-opcache.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-opcache.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-pdo.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-pdo.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-pecl-apcu.x86_64 0:5.1.21-1.el7.remi.7.1 will be updated
---> Package php-pecl-apcu.x86_64 0:5.1.21-1.el7.remi.8.1 will be an update
---> Package php-pecl-igbinary.x86_64 0:3.2.7-1.el7.remi.7.1 will be updated
---> Package php-pecl-igbinary.x86_64 0:3.2.7-1.el7.remi.8.1 will be an update
---> Package php-pecl-mcrypt.x86_64 0:1.0.5-1.el7.remi.8.1 will be obsoleting
---> Package php-pecl-memcache.x86_64 0:4.0.5.2-1.el7.remi.7.1 will be updated
---> Package php-pecl-memcache.x86_64 0:8.0-3.el7.remi.8.1 will be an update
---> Package php-pecl-memcached.x86_64 0:3.2.0-1.el7.remi.7.1 will be updated
---> Package php-pecl-memcached.x86_64 0:3.2.0-1.el7.remi.8.1 will be an update
---> Package php-pecl-mongodb.x86_64 0:1.11.1-1.el7.remi.7.1 will be updated
---> Package php-pecl-mongodb.x86_64 0:1.13.0-1.el7.remi.8.1 will be an update
---> Package php-pecl-msgpack.x86_64 0:2.1.2-1.el7.remi.7.1 will be updated
---> Package php-pecl-msgpack.x86_64 0:2.2.0~RC1-4.el7.remi.8.1 will be an update
---> Package php-pecl-redis.x86_64 0:3.1.6-1.el7.remi.7.1 will be obsoleted
---> Package php-pecl-redis5.x86_64 0:5.3.7-1.el7.remi.8.1 will be obsoleting
--> Processing Dependency: liblzf.so.1()(64bit) for package: php-pecl-redis5-5.3.7-1.el7.remi.8.1.x86_64
--> Processing Dependency: libzstd.so.1()(64bit) for package: php-pecl-redis5-5.3.7-1.el7.remi.8.1.x86_64
---> Package php-pgsql.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-pgsql.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-process.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-process.x86_64 0:8.1.6-1.el7.remi will be an update
---> Package php-xml.x86_64 0:7.1.33-19.el7.remi will be updated
---> Package php-xml.x86_64 0:8.1.6-1.el7.remi will be an update
--> Running transaction check
---> Package liblzf.x86_64 0:3.6-7.el7 will be installed
---> Package libzstd.x86_64 0:1.5.2-1.el7 will be installed
---> Package php-common.x86_64 0:7.1.33-19.el7.remi will be updated
--> Processing Dependency: php(api) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
--> Processing Dependency: php(zend-abi) = 20160303-64 for package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64
---> Package php-gd.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libgd.so.103()(64bit) for package: php-gd-8.1.6-1.el7.remi.x86_64
---> Package php-mbstring.x86_64 0:8.1.6-1.el7.remi will be an update
--> Processing Dependency: libonig.so.105()(64bit) for package: php-mbstring-8.1.6-1.el7.remi.x86_64
--> Finished Dependency Resolution
Error: Package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64 (@remi-php71)
Requires: php(api) = 20160303-64
Removing: php-common-7.1.33-19.el7.remi.x86_64 (@remi-php71)
php(api) = 20160303-64
Updated By: php-common-8.1.6-1.el7.remi.x86_64 (remi-php81)
php(api) = 20210902-64
Available: php-common-5.4.16-48.el7.x86_64 (base)
php(api) = 20100412-64
Available: php-common-8.1.5-1.el7.remi.x86_64 (remi-php81)
php(api) = 20210902-64
Error: Package: php-gd-8.1.6-1.el7.remi.x86_64 (remi-php81)
Requires: libgd.so.103()(64bit)
Error: Package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64 (@remi-php71)
Requires: php(zend-abi) = 20160303-64
Removing: php-common-7.1.33-19.el7.remi.x86_64 (@remi-php71)
php(zend-abi) = 20160303-64
Updated By: php-common-8.1.6-1.el7.remi.x86_64 (remi-php81)
php(zend-abi) = 20210902-64
Available: php-common-5.4.16-48.el7.x86_64 (base)
php(zend-abi) = 20100525-64
Available: php-common-8.1.5-1.el7.remi.x86_64 (remi-php81)
php(zend-abi) = 20210902-64
Error: Package: php-mbstring-8.1.6-1.el7.remi.x86_64 (remi-php81)
Requires: libonig.so.105()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Error: Package: php-pecl-apcu-bc-1.0.5-1.el7.remi.7.1.x86_64 (@remi-php71)
Requires: php(api) = 20160303-64
apcu_bc 提供与 PHP 7 的旧 APC 扩展的兼容性。
它已被弃用,PHP 8.
不再受支持所以升级前必须先删除它,如果你真的需要它,你不能升级,必须修复使用它的应用程序才能升级。
Error: Package: php-gd-8.1.6-1.el7.remi.x86_64 (remi-php81)
Requires: libgd.so.103()(64bit)
缺少依赖项在 remi-safe 存储库中,在 wizard instructions
之后,在正确的安装中默认启用当然,由于这是一次重大升级,您必须确保所有应用程序都已为这个新版本做好准备。