我们正在使用 Zend Framework,在版本 2 中,php 5.2 将是最低要求。我们喜欢 CentOS,我们希望继续使用它,但 PHP 5.1 不再适用于使用 Zend 框架开发 Web 应用程序。
我找到了几个指向使用外部存储库升级的解决方案的链接。
在 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 使用安全地升级我们所有的其他软件包?
谢谢你的帮助!
我希望我能在被问到这个问题时看到这个问题。您应该非常有选择性地从哪个 3rd 方存储库安装软件包。许多人不遵循打包最佳实践,并且大多数人不确保不冲突的包名称。你可以很容易地把你的系统弄得一团糟。针对这个最近的问题,我给出了以下答案。
我强烈建议使用IUS 社区项目存储库来升级您的 PHP 5.2,甚至是 CentOS 5 上的 PHP 5.3 软件包。这些是一组维护良好和高质量的软件包,由Rackspace使用和维护,但不受他们支持(除非你当然是客户)。
如果您是新手,安装说明可能会有点难找。您正在他们的 wiki 上寻找客户端使用指南。为了便于使用,我将在此处复制说明。
这将为您下载并安装EPEL和 IUS 存储库。
IUS 承诺不会使用与任何官方 repos 冲突的包名称,包括 EPEL(这是一件好事),事情并不像
yum upgrade php
. 您需要先卸载所有现有的 PHP 包,然后从 IUS 安装适当的包。或者,您可以使用该yum-plugin-replace
插件向 YUM 添加有用的“替换”功能。手动
第一的:
rpm -qa | grep php
列出每个已安装的 PHP 包。您将使用此列表从 IUS 安装所有适当的单个 PHP 包yum erase php
命令只是删除 PHP 和它的依赖包最后:
yum search php52
列出可用的 PHP 5.2 包yum install
安装您选择的 PHP 5.2 软件包。您将使用在第一步中获得的列表来确定您需要哪个百胜插件替换
这将神奇地确定要删除哪些 PHP 包,以及为您安装哪些匹配的 php52 包。
出色的Remi拥有适用于旧版发行版的最新 PHP 版本——我最近将 Fedora 6 升级到 PHP 5.3。如上所述安装密钥后,您可以像这样安装PHP 5.3.1:
这不会影响从标准存储库进行正常升级/安装,因为“remi”是一个单独的存储库,除了在这个单一请求期间之外不活动。
有很多个人的 php 仓库。只要确保你信任管理回购的人。另外,请确保该人确实管理回购而不是构建一次然后忘记它......
这里有替代方法:
A. 原子回购: http: //www.atomicorp.com/wiki/index.php/PHP
B. centos 开发/测试回购:
有很多方法可以做到这一点。
升级到最新版本的官方方法是 CentOS Developpement 存储库,位于:http: //dev.centos.org/centos/5/testing/x86_64/RPMS或编译它。
如果您绝对需要由 YUM 安装 5.3,则需要使用不受支持的存储库。我所知道的最好的 YUM 存储库如下:
RPMForge
ART(Atomic Rocket Turtle)
您会发现周围还有很多由一两个人维护的其他存储库。只要确保你只更新 php 包。
我正在使用 Zend Server 社区版。它有一个 YUM 存储库: http: //files.zend.com/help/Zend-Server/rpm_installation.htm