当我尝试使用安装 时,似乎我拥有的版本php-common-5.2.10-1.el5.centos
比要求的依赖版本更新。要求的依赖包如 所示。php-xml
php-xml
yum install php-xml
php-common = 5.1.6-34.el5_8
rpm -qa |grep php
那么我该如何强制 php-xml 使用我已经拥有的更高版本?
(这似乎是相关 SF 问题中问题的根本原因:php-xml 安装抱怨依赖 php-common 但是它已经安装(CentOS))
更新
输出:
yum repolist
rpm -qi php-common
(根据@ewwhite 的要求)如下:
[root@dtsrvishvt2 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirroring.pulsant.co.uk
* extras: centos.mirroring.pulsant.co.uk
* updates: centos.mirroring.pulsant.co.uk
Reducing CentOS-5 Testing to included packages only
Finished
repo id repo name status
base CentOS-5 - Base 2,725
c5-testing CentOS-5 Testing 0+71
extras CentOS-5 - Extras 280
updates CentOS-5 - Updates 379
repolist: 3,384
[root@dtsrvishvt2 ~]#
[root@dtsrvishvt2 ~]# rpm -qi php-common
Name : php-common Relocations: (not relocatable)
Version : 5.2.10 Vendor: CentOS
Release : 1.el5.centos Build Date: Fri 13 Nov 2009 04:36:29 PM GMT
Install Date: Tue 13 Jul 2010 11:33:44 AM GMT Build Host: builder10.centos.org
Group : Development/Languages Source RPM: php-5.2.10-1.el5.centos.src.rpm
Size : 668395 License: PHP
Signature : DSA/SHA1, Fri 22 Jan 2010 03:22:25 PM GMT, Key ID 5c37c0b17203f491
URL : http://www.php.net/
Summary : Common files for PHP
Description :
The php-common package contains files used by both the php
package and the php-cli package.
[root@dtsrvishvt2 ~]#
答案1
您能提供以下命令的输出吗?
yum repolist
rpm -qi php-common
您的 CentOS 5 系统当前的 php-common 版本是php-common-5.1.6-34.el5_8
。您的依赖性问题源于 php-common 的版本 (5.2.10-1.el5.centos) 比标准 CentOS 存储库中可用的版本更新。该yum repolist
命令将帮助我们了解您从哪里提取软件包。将向rpm -qi php-common
我们显示当前安装的软件包实际上来自哪里。
我猜想系统是通过另一个 repo 迁移到 PHP 5.2 的,或者可能是通过手动安装包。在线记录使用 CentOS 测试存储库。如果您的 php-common 包是一次性安装的,那么您应该能够获取相关的 php 包……但这取决于您的 repolist 输出……
答案2
你不能,yum 不会让你这么做。php-xml 的作者特别想要一个与他们的版本相匹配的 php-common 版本。
您的选择是:
- 查找较新版本的 php-xml rpm
- 降级 php-common 至版本
5.2.10-1.el5.centos
- 用于
rpm -i --nodeps
执行可能无法正常工作的不安全安装(因为您没有安装任何依赖项)。 - 重建 php-xml rpm,更改其依赖的 php-commons 版本
我强烈推荐前两者之一,因为它们最简单并且最有可能正常工作。
答案3
您无法使用 php-commons 版本 5.2*,因为它已因安全问题被删除。剩下的唯一选择是升级到 PHP 5.3。我花了大约 4 个小时才在网上找到这些信息,希望这能对其他人有所帮助。