我有几个运行 Centos 的生产服务器。我的应用程序需要较新版本的 PHP(> 5.2,IIRC)。Centos 用户当前可用的选项包括:
- 官方、主流的 centos5/redhat 软件包。
- 优点:最稳定、最安全、易于安装 - redhat 定期发布安全更新和公告。
- 缺点:软件包较旧(5.1.6?)
- 第三方存储库(如雷米·科莱的仓库)
- 优点:先进、易于安装
- 缺点:不可靠——我们以前使用过 utterramblings 存储库……但这个家伙已经失踪一年多了。我不想再这样孤身一人了。
- 缺点:不太安全或稳定
- 使用 CentOS 测试存储库
- 优点:版本较新,易于安装
- 缺点:不稳定。他们称其为“测试”是有原因的。不适合用作生产服务器
- 从源代码构建(php.net)
- 优点:前沿技术
- 缺点:劳动密集型、不安全、不稳定
其他选择:
- Redhat 提供Redhat 应用程序堆栈其中包括最近的版本,但是不存在 centos 等效版本。
- 这些软件包的 CentOS 版本不存在,这是为什么呢?源代码肯定是可用的,对吧?
- 源代码必须可用,对吧?自己构建 centos 软件包有多难?
- 其他 Linux 发行版
- Debian 的稳定性与 redhat 相当,但提供的软件包较旧
- Ubuntu 提供更新但稳定性/安全性较差的软件包
- 其他的?
所以,最后,我的问题是:有没有一个好的稳定、安全、定期更新的 PHP 软件包或源代码来源(适用于任何 Linux 发行版)?您从哪里获得源代码/二进制文件?
答案1
只是为了突出 Debian 方面:
之前的 Debian 版本 - Etch(2007 年 4 月 8 日) - 附带 PHP 5.2.0。
当前的 Debian 版本 - Lenny(2009 年 2 月 14 日) - 附带 PHP 5.2.6。
如果在发布周期内软件包有任何重大更新,这些版本通常可在backports.org如果他们有明显的用户群。可以找到 Lenny 可用的反向移植软件包的完整列表这里。截至目前,此列表相对较短,因为上次发布仅有几个月前。
答案2
我建立自己的 RPM,因为我不相信第三方维护者会留在地球上。
这有点麻烦(尽管我只构建了几个包),但我知道完成后会得到什么。我使用上游(RHEL / CentOS)的规范文件,但必要时我会修改它们以满足我的需求,并替换我正在寻找的任何版本的源代码(必要时修改上游的补丁)。
这也有助于我避免在生产系统上安装编译器的工作流程,因为我可以将自定义的二进制文件发送给它们。当我“无法”运行旧操作系统(没有预算升级等)时,我也会这样做,以便为较新的软件包提供向旧操作系统的反向移植。
如果您能使用 SRPMS,构建软件包并不难。(主要是将给定软件包的构建环境整合在一起,这可能很麻烦。)从零开始构建 RPM(即自己编写规范)是一项很好的练习,但您应该先阅读一些“专业”编写的规范文件以了解它。
答案3
我实际上无法回答您的问题,但我习惯的做法是使用官方源代码版本,然后在开发环境中进行编译。
然后我只需使用 dpkg 工具从中打包一个软件包(我使用的是 debian),但是应该有类似的方法对 RedHat 等操作系统进行打包。
然后,你只需将其传播到你的服务器上。
答案4
其他值得考虑的选择
- Sun Web 堆栈 -http://www.sun.com/software/webstack/get.jsp
- Zend Community Server 中的 Zend Core -http://www.zend.com/products/server/downloads-all