解决“php54w-common-5.4.24-1.w6.x86_64 与 php-common < 5.4.0 冲突”

解决“php54w-common-5.4.24-1.w6.x86_64 与 php-common < 5.4.0 冲突”

我们正在运行 CentOS 版本 6.5 和 PHP 5.4.24,并且我正在尝试安装 mcrypt-php。

当我按照https://stackoverflow.com/questions/17109818/install-php-mcrypt-on-centos6然而,这个过程出错了。

Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mcrypt.x86_64 0:5.3.3-3.el6 will be installed
--> Processing Dependency: php(zend-abi) = 20090626 for package: php-mcrypt-5.3.3-3.el6.x86_64
--> Processing Dependency: php(api) = 20090626 for package: php-mcrypt-5.3.3-3.el6.x86_64
--> Running transaction check
---> Package php-common.x86_64 0:5.3.3-27.el6_5 will be installed
--> Processing Conflict: php54w-common-5.4.24-1.w6.x86_64 conflicts php-common < 5.4.0
--> Finished Dependency Resolution
Error: php54w-common conflicts with php-common-5.3.3-27.el6_5.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

我感觉我需要升级/卸载/重新安装 PHP,但我只找到了有关如何针对 php53 执行此操作的说明,并且我不想冒险让服务器脱机。

有什么想法吗?

答案1

看起来您正在使用第三方 repo 来提供 PHP 5.4,并且该 repo 中的包 php54w-common 与 php-mcrypt(大概来自 epel)冲突,而 php-common 需要默认的 CentOS 6 版本。

您的第三方 PHP 提供商可能会提供他们自己的 mcrypt 版本(尝试yum info php54w-mcrypt看看是否能为您提供帮助)。否则,您就没那么幸运了,您需要:

  1. 查找另一个与 php54w-common 兼容的 PHP mcrypt 包
  2. 恢复到 CentOS 支持的 PHP 5.3,而不是使用 PHP 5.4
  3. 根据第三方提供商的包构建自己的 PHP 5.4 mcrypt 包

祝你好运!

相关内容