如何在 CentOS 上安装 PHP 5.3?

如何在 CentOS 上安装 PHP 5.3?

我必须在我的 CentOS 服务器上安装 PHP 5.3。如果我这样做yum install php,基础存储库会安装 5.1.6,这对于我需要安装的应用程序来说太旧了。所以我一直在尝试使用宫内节育器存储库,遵循 IUS 的官方说明:

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm

root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm

好的。现在我只需执行yum install php53等即可满足我的所有需要​​...但我收到此错误:

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test


Transaction Check Error:
  file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

Error Summary
-------------

我不知道如何解决这个问题。我想我必须删除基础软件包。但是,作为 Linux 新手,我不知道该怎么做。

答案1

更新:显然是 RHEL 5.6包括 PHP 5.3,因此这将很快在 CentOS 上原生显示。

file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

这里的问题是,您安装的软件包有不同的名称(php53 而不是 php),但它们试图安装相同的文件...因此发生冲突。这不一定是将软件包组合在一起的最佳方式,但我不知道是否有更好的软件包可用,所以我们将忽略这一点。

要删除当前安装的软件包:

# yum remove php-cli php-common php

因此,一般来说,yum remove <list of packages>将删除软件包。当然,yum list installed还可以查看已安装软件包的列表(或rpm -qa)。

答案2

截至 2011 年 1 月 13 日,这个问题的答案已经改变。Red Hat 已发布版本 5.6,其中包括 PHP 版本 5.3 作为单独的软件包(php53)。

您必须删除旧版 PHP,然后单独安装 PHP 5.3。这听起来与您从 IUS 存储库获取的软件包类似,但现在它是官方的。

有关详细信息,请参阅For more information, seeRed Hat 发行说明

请注意,这是 Red Hat 刚刚发布的,在 CentOS 中推出之前会稍微延迟一下。不过,RHEL 5.6 更新看起来相对较小,所以我预计更新不会太久。

答案3

在安装新版本之前,尝试删除旧版本的软件包:

yum 清除 php-cli php-comon

然后尝试 yum 安装。

警告:在提交之前查看 yum 想要进行的更改列表,以确保您没有删除其他重要软件包。

答案4

CentOS 6 现已推出,包含 PHP 5.3:

http://isoredirect.centos.org/centos/6/isos/x86_64/

相关内容