Назад | Перейти на главную страницу

Как решить проблемы с зависимостями 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?

Удалить 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 могла внести обратно несовместимые изменения.