将 Centos 5 升级到 PHP 5.2 或 5.3

将 Centos 5 升级到 PHP 5.2 或 5.3

我们正在使用 Zend Framework,在版本 2 中,php 5.2 将是最低要求。我们喜欢 CentOS,我们想继续使用它,但在使用 Zend Framework 开发 Web 应用程序时,PHP 5.1 不再适用。

我找到了几个使用外部存储库升级的解决方案的链接。

在 CentOS 5.4 上将 PHP 5.1.6 升级到 5.2.x 的推荐方法

http://www.webtatic.com/blog/2009/05/installing-php-526-on-centos-5/

http://www.webtatic.com/blog/2009/06/php-530-on-centos-5/

我们希望看到使用“官方?” CentOS 存储库(如果有)的另一种解决方案。

我们只需要升级 PHP,其余的 CentOS 设置保持原样即可。但对我们来说,使用常规存储库保持 YUM 循环完整非常重要。

简而言之:是否可以通过使用外部存储库或其他方式仅升级 PHP?同时仍可通过常规 yum 使用安全地升级所有其他软件包?

感谢您的帮助!

答案1

优秀雷米拥有适用于旧发行版的最新 PHP 版本 - 我最近将 Fedora 6 升级到了 PHP 5.3。安装上述密钥后,您可以安装PHP 5.3.1像这样:

yum --enablerepo=remi update php-\*

这不会影响标准存储库的正常升级/安装,因为“remi”是一个单独的存储库,并且除了在此单个请求期间外不处于活动状态。

答案2

我希望我能看到这个问题。你应该非常选择从哪个第三方存储库安装软件包。许多存储库不遵循打包最佳实践,并且大多数存储库不能确保软件包名称不冲突。您很容易弄乱系统。我给出了以下答案来回应这个最近提出的问题


我强烈建议使用IUS 社区项目用于在 CentOS 5 上升级 PHP 5.2 甚至 PHP 5.3 软件包的存储库。这些是一组维护良好且高质量的软件包,由Rackspace并保持,但不受支持由他们(当然,除非你是顾客)。

如果你是新手,安装说明可能有点难找。你正在寻找客户端使用指南在他们的 wiki 上。我将在这里重复说明以方便使用。

[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-6.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

这将下载并安装电力供应处以及 IUS 存储库。

IUS 承诺不会使用与任何官方软件库(包括 EPEL)冲突的软件包名称(这是一件好事),但事情并没有那么简单yum upgrade php。您需要先卸载所有现有的 PHP 软件包,然后从 IUS 安装相应的软件包。或者,您可以使用插件yum-plugin-replace为 YUM 添加有用的“替换”功能。


手动

第一的:

[root@linuxbox ~]# rpm -qa | grep php

[root@linuxbox ~]# yum erase php
  • rpm -qa | grep php列出每个已安装的 PHP 包。您将使用此列表从 IUS 安装所有相应的单个 PHP 包
  • yum erase php命令只会删除 PHP 及其依赖的包

最后:

[root@linuxbox ~]# yum search php52

[root@linuxbox ~]# yum install php52 php52-common php52-pecl-apc php52-mysql ...
  • yum search php52列出可用的 PHP 5.2 包
  • yum install安装您选择的 PHP 5.2 包。您可以使用在第一步中获得的列表来确定您需要哪些

yum 插件替换

[root@linuxbox ~]# yum install yum-plugin-replace

[root@linuxbox ~]# yum replace php --replace-with php52

这将神奇地确定要删除哪些 PHP 包,以及要为您安装哪些匹配的 php52 包。

答案3

php 有很多个人 repo。只需确保您信任管理 repo 的人。另外,确保该人确实管理 repo,而不是构建一次然后忘掉它......

以下是其他方法:

A. 原子仓库:http://www.atomicorp.com/wiki/index.php/PHP

B.centos dev/testing repo:

答案4

我正在使用 Zend Server 社区版。它有一个 YUM 存储库: http://files.zend.com/help/Zend-Server/rpm_installation.htm

相关内容