如何解决 CentOS7 和“yum install php-7.2.3”依赖问题升级到 PHP 7.2.3

如何解决 CentOS7 和“yum install php-7.2.3”依赖问题升级到 PHP 7.2.3

以下是“yum install php-7.2.3”返回的内容:

[root@prv-apps conf.d]# yum install php-7.2.3
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.vtti.vt.edu
 * epel: ftp.cse.buffalo.edu
 * extras: mirror.vtti.vt.edu
 * remi-php72: mirror.team-cymru.org
 * remi-safe: mirror.team-cymru.org
 * updates: mirror.vtti.vt.edu
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php.x86_64 0:7.2.3-2.el7.remi will be an update
--> Processing Dependency: php-common(x86-64) = 7.2.3-2.el7.remi for package: php-7.2.3-2.el7.remi.x86_64
--> Processing Dependency: php-cli(x86-64) = 7.2.3-2.el7.remi for package: php-7.2.3-2.el7.remi.x86_64
--> Processing Dependency: libargon2.so.0()(64bit) for package: php-7.2.3-2.el7.remi.x86_64
--> Running transaction check
---> Package libargon2.x86_64 0:20161029-2.el7 will be installed
---> Package php-cli.x86_64 0:5.4.16-43.el7_4.1 will be updated
--> Processing Dependency: php-cli(x86-64) = 5.4.16-43.el7_4.1 for package: php-devel-5.4.16-43.el7_4.1.x86_64
---> Package php-cli.x86_64 0:7.2.3-2.el7.remi will be an update
---> Package php-common.x86_64 0:5.4.16-43.el7_4.1 will be updated
--> Processing Dependency: php(api) = 20100412-64 for package: php-pecl-apcu-4.0.11-1.el7.x86_64
--> Processing Dependency: php(api) = 20100412-64 for package: php-pecl-ssh2-0.12-1.el7.x86_64
--> Processing Dependency: php(api) = 20100412-64 for package: php-mcrypt-5.4.16-7.el7.x86_64
--> Processing Dependency: php(api) = 20100412-64 for package: php-pecl-mongo-1.6.14-1.el7.x86_64
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-pecl-apcu-4.0.11-1.el7.x86_64
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-pecl-ssh2-0.12-1.el7.x86_64
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-mcrypt-5.4.16-7.el7.x86_64
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-pecl-mongo-1.6.14-1.el7.x86_64
--> Processing Dependency: php-json(x86-64) = 7.2.3-2.el7.remi for package: php-common-7.2.3-2.el7.remi.x86_64
--> Processing Dependency: php-common(x86-64) = 5.4.16-43.el7_4.1 for package: php-soap-5.4.16-43.el7_4.1.x86_64
--> Processing Dependency: php-common(x86-64) = 5.4.16-43.el7_4.1 for package: php-pdo-5.4.16-43.el7_4.1.x86_64
--> Processing Dependency: php-common(x86-64) = 5.4.16-43.el7_4.1 for package: php-mbstring-5.4.16-43.el7_4.1.x86_64
--> Processing Dependency: php-common(x86-64) = 5.4.16-43.el7_4.1 for package: php-gd-5.4.16-43.el7_4.1.x86_64
--> Processing Dependency: php-common(x86-64) = 5.4.16-43.el7_4.1 for package: php-process-5.4.16-43.el7_4.1.x86_64
--> Processing Dependency: php-common(x86-64) = 5.4.16-43.el7_4.1 for package: php-ldap-5.4.16-43.el7_4.1.x86_64
--> Processing Dependency: php-common(x86-64) = 5.4.16-43.el7_4.1 for package: php-xml-5.4.16-43.el7_4.1.x86_64
---> Package php-common.x86_64 0:7.2.3-2.el7.remi will be an update
--> Running transaction check
---> Package php-common.x86_64 0:5.4.16-43.el7_4.1 will be updated
--> Processing Dependency: php(api) = 20100412-64 for package: php-pecl-mongo-1.6.14-1.el7.x86_64
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-pecl-mongo-1.6.14-1.el7.x86_64
---> Package php-devel.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-devel.x86_64 0:7.2.3-2.el7.remi will be an update
---> Package php-gd.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-gd.x86_64 0:7.2.3-2.el7.remi will be an update
--> Processing Dependency: gd-last(x86-64) >= 2.1.1 for package: php-gd-7.2.3-2.el7.remi.x86_64
--> Processing Dependency: libgd.so.3()(64bit) for package: php-gd-7.2.3-2.el7.remi.x86_64
---> Package php-json.x86_64 0:7.2.3-2.el7.remi will be installed
---> Package php-ldap.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-ldap.x86_64 0:7.2.3-2.el7.remi will be an update
---> Package php-mbstring.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-mbstring.x86_64 0:7.2.3-2.el7.remi will be an update
---> Package php-mcrypt.x86_64 0:5.4.16-7.el7 will be obsoleted
---> Package php-pdo.x86_64 0:5.4.16-43.el7_4.1 will be updated
--> Processing Dependency: php-pdo(x86-64) = 5.4.16-43.el7_4.1 for package: php-odbc-5.4.16-43.el7_4.1.x86_64
--> Processing Dependency: php-pdo(x86-64) = 5.4.16-43.el7_4.1 for package: php-mysql-5.4.16-43.el7_4.1.x86_64
---> Package php-pdo.x86_64 0:7.2.3-2.el7.remi will be an update
---> Package php-pecl-apcu.x86_64 0:4.0.11-1.el7 will be updated
---> Package php-pecl-apcu.x86_64 0:5.1.11-1.el7.remi.7.2 will be an update
---> Package php-pecl-mcrypt.x86_64 0:1.0.1-4.el7.remi.7.2 will be obsoleting
---> Package php-pecl-ssh2.x86_64 0:0.12-1.el7 will be updated
---> Package php-pecl-ssh2.x86_64 0:1.1.2-1.el7.remi.7.2 will be an update
---> Package php-process.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-process.x86_64 0:7.2.3-2.el7.remi will be an update
---> Package php-soap.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-soap.x86_64 0:7.2.3-2.el7.remi will be an update
---> Package php-xml.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-xml.x86_64 0:7.2.3-2.el7.remi will be an update
--> Running transaction check
---> Package gd-last.x86_64 0:2.2.5-1.el7.remi will be installed
---> Package php-common.x86_64 0:5.4.16-43.el7_4.1 will be updated
--> Processing Dependency: php(api) = 20100412-64 for package: php-pecl-mongo-1.6.14-1.el7.x86_64
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-pecl-mongo-1.6.14-1.el7.x86_64
---> Package php-mysql.x86_64 0:5.4.16-43.el7_4.1 will be obsoleted
---> Package php-mysqlnd.x86_64 0:7.2.3-2.el7.remi will be obsoleting
---> Package php-odbc.x86_64 0:5.4.16-43.el7_4.1 will be updated
---> Package php-odbc.x86_64 0:7.2.3-2.el7.remi will be an update
--> Finished Dependency Resolution
Error: Package: php-pecl-mongo-1.6.14-1.el7.x86_64 (@epel)
           Requires: php(zend-abi) = 20100525-64
           Removing: php-common-5.4.16-43.el7_4.1.x86_64 (@updates)
               php(zend-abi) = 20100525-64
           Updated By: php-common-7.2.3-2.el7.remi.x86_64 (remi-php72)
               php(zend-abi) = 20170718-64
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.16-43.el7_4.x86_64 (updates)
               php(zend-abi) = 20100525-64
           Available: php-common-7.2.2-1.el7.remi.x86_64 (remi-php72)
               php(zend-abi) = 20170718-64
Error: Package: php-pecl-mongo-1.6.14-1.el7.x86_64 (@epel)
           Requires: php(api) = 20100412-64
           Removing: php-common-5.4.16-43.el7_4.1.x86_64 (@updates)
               php(api) = 20100412-64
           Updated By: php-common-7.2.3-2.el7.remi.x86_64 (remi-php72)
               php(api) = 20170718-64
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php(api) = 20100412-64
           Available: php-common-5.4.16-43.el7_4.x86_64 (updates)
               php(api) = 20100412-64
           Available: php-common-7.2.2-1.el7.remi.x86_64 (remi-php72)
               php(api) = 20170718-64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

如何解决依赖问题才能启动并运行 PHP 7.2.3?

答案1

首先删除该php-pecl-mongo软件包。它是为旧版本的 PHP 构建的,不适用于 PHP 7.2。

# yum info php-pecl-mongo
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Available Packages
Name        : php-pecl-mongo
Arch        : x86_64
Version     : 1.6.16
Release     : 1.el7.remi.5.4
Size        : 267 k
Repo        : remi
Summary     : PHP MongoDB database driver
URL         : http://pecl.php.net/package/mongo
License     : ASL 2.0
Description : This package provides an interface for communicating with the
            : MongoDB database in PHP.
            : 
            : Documentation: http://php.net/mongo
            : 
            : Package built for PHP 5.4.

升级到 PHP 7.2 后,您可以安装它的替代品php-pecl-mongodb

# yum info php-pecl-mongodb
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Available Packages
Name        : php-pecl-mongodb
Arch        : x86_64
Version     : 1.4.2
Release     : 1.el7.remi.7.2
Size        : 479 k
Repo        : remi-php72
Summary     : MongoDB driver for PHP
URL         : http://pecl.php.net/package/mongodb
License     : ASL 2.0
Description : The purpose of this driver is to provide exceptionally thin glue
            : between MongoDB and PHP, implementing only fundemental and
            : performance-critical components necessary to build a
            : fully-functional MongoDB driver.
            : 
            : Package built for PHP 7.2.

请记住,如果您还没有这样做,您应该测试您的应用程序的兼容性,因为新的 PECL 库可能引入了向后不兼容的变化。

相关内容