升级到PHP7时的包依赖

升级到PHP7时的包依赖

不确定这是否是正确的发帖地点。

我最近在我们的一台网络服务器上升级到 PHP 7,但是,当我对另一台网络服务器执行相同操作时,我收到以下依赖项错误。

我正在执行的步骤如下:

sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

sudo yum-config-manager --enable remi-php73

sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd


Error: Package: php-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libcrypto.so.10(OPENSSL_1.0.2)(64bit)
Error: Package: php-xml-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: php-ldap-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: php-ldap-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libsasl2.so.3()(64bit)
Error: Package: gd-last-2.2.5-10.el7.remi.x86_64 (remi-safe)
           Requires: libtiff.so.5(LIBTIFF_4.0)(64bit)
Error: Package: php-mysqlnd-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.15)(64bit)
Error: Package: gd-last-2.2.5-10.el7.remi.x86_64 (remi-safe)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: php-json-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: libwebp7-1.0.2-1.el7.remi.x86_64 (remi-safe)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: php-common-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.15)(64bit)
Error: Package: php-cli-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libcrypto.so.10(OPENSSL_1.0.2)(64bit)
Error: Package: php-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: httpd-mmn = 20120211x8664
           Installed: httpd-2.2.15-69.el6.centos.x86_64 (@base)
               httpd-mmn = 20051115
Error: Package: php-gd-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libpng15.so.15()(64bit)
Error: Package: php-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.15)(64bit)
Error: Package: php-cli-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.15)(64bit)
Error: Package: gd-last-2.2.5-10.el7.remi.x86_64 (remi-safe)
           Requires: libpng15.so.15()(64bit)
Error: Package: php-pecl-mcrypt-1.0.3-1.el7.remi.7.3.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: php-pdo-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: gd-last-2.2.5-10.el7.remi.x86_64 (remi-safe)
           Requires: libtiff.so.5()(64bit)
Error: Package: php-xml-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libxml2.so.2(LIBXML2_2.9.0)(64bit)
Error: Package: php-opcache-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: gd-last-2.2.5-10.el7.remi.x86_64 (remi-safe)
           Requires: libpng15.so.15(PNG15_0)(64bit)
Error: Package: php-cli-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libargon2.so.0()(64bit)
Error: Package: php-7.3.11-1.el7.remi.x86_64 (remi-php73)
           Requires: libargon2.so.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

我尽力安装个人依赖项,但这似乎不起作用。

有没有人可以帮助我解决这个问题,因为您可能遇到过类似的问题。

答案1

Error: Package: php-7.3.11-1.el7.remi.x86_64 (remi-php73)
       Requires: httpd-mmn = 20120211x8664
       Installed: httpd-2.2.15-69.el6.centos.x86_64 (@base)
           httpd-mmn = 20051115

“已安装”软件包版本有一个el6.centos后缀。这表明底层系统可能是 CentOS 版本 6.x。您正在安装的软件包来自 remirepo,适用于 7.x 版本。

您无法将适用于 RHEL/CentOS 7.x 的软件包安装到 RHEL/CentOS 6.x,因为基本系统库版本不同:这是存在不同主要版本的一个重要原因。

如果您已经安装了一些“单独的依赖项”,那么系统现在可能是不支持的 CentOS 6 和 7 的组合。

您可能应该执行以下选项之一:

  • 恢复到升级前的状态并重新评估。 (如果您有良好的备份,这可能是最简单的。)
  • 浏览已安装的软件包列表,并将所有已安装的*.el7*软件包替换为最新的可用等效软件包,或者如果等效软件包不存在/不需要,则完全*.el6*删除这些软件包。 *.el7*(大量的手动工作,但如果您没有备份并且无法升级,这可能是您可以做的最好的恢复操作。)
  • 将系统升级/迁移/重新安装到 RHEL/CentOS 7.x,可能是通过同时构建新的 7.x 系统或 VM,将应用程序和数据迁移到其中,然后拆除旧的混乱的 6.x 系统。 (从长远来看,这可能是最佳选择,因为 CentOS 6.x 已接近其支持生命周期的终点,并且您似乎首先需要比 6.x 更新的软件。)

相关内容