随着我们开发项目的扩展,我们发现我们经常需要比 Red Hat 提供的更新版本的 PHP、Python、Ruby 等。NU 的其他人正在做什么来解决这个问题?似乎没有一个很好的通用解决方案。我们已经开始研究Red Hat Software Collections,它的实现有点笨拙,但似乎可行。我听说过人们放弃 RHEL 并使用新版本 Ubuntu 的其他案例。我们必须在提供对现代库的访问和在生产环境中使用稳定的操作系统之间取得平衡。
据我们了解,这在 /opt 中添加了“更新”的包。如何平衡稳定性和使用 PHP 5.5 中的新功能的需要?
您可以使用 Remi 存储库 ( http://rpms.famillecollet.com/enterprise/7/ ) 或 Red Hat Software Collections(配置/启用有点困难,但更“可靠”,因为它们直接来自 Red Hat)。
Red Hat Software Collections 是专门为解决这个问题而创建的。试试看,没那么难。是的,它在 /opt 中添加了一些包以避免冲突或覆盖。要从 RHSC 安装软件包,您首先启用该集合,然后您可以执行
yum search php
. 然后,您安装所需的软件包。如果它是唯一安装的 php 包,我认为你可以简单地重新加载 apache 并且它会工作。文档在这里:RHSCL 文档,但这里是启用集合的命令:
RHEL6、RHN 经典:
rhn-channel --add --channel=rhel-x86_64-server-6-rhscl-1
RHEL6,订阅经理:
subscription-manager repos --enable rhel-server-rhscl-6-rpms
RHEL7:订阅管理器存储库--启用 rhel-server-rhscl-7-rpms
IUS项目为 RHEL 和 CentOS的较新版本的精选软件(例如 PHP、MySQL 和 Python)提供 RPM。
添加 repo后,您可以通过运行以下命令安装 PHP 5.5 FPM:
或者,如果您想使用 mod_php,您可以运行以下命令:
yum shell
此软件包与它们的库存等价物冲突并提供它们的等效项,因此您必须先卸载所有库存 PHP 软件包,或者使用或在单个事务中删除/安装yum replace
。这与 Software Collections 使用的方法有很大不同。IUS 有一个比较页面,可以更详细地解释差异。