我的专用托管服务提供商已在我的服务器上安装了 php-5.1.6-27.el5.x86_64,而我希望安装 PHP 5.3.3(64 位)
我似乎根本无法升级它
root@server [~]# php -v
PHP 5.1.6 (cli) (built: Mar 31 2010 02:39:17)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
root@server [~]# yum install php
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Package php-5.1.6-27.el5.x86_64 already installed and latest version
Nothing to do
我认为我有 RHEL5,但我不确定从哪里可以验证这一点:
root@server [~]# uname -r
2.6.18-194.17.1.el5
root@server [~]# cat /etc/issue
CentOS release 5.5 (Final)
Kernel \r on an \m
答案1
答案2
欢迎使用 RedHat Enterprise(和克隆版,因为 CentOS 是从 RHEL SRPM 免费重建的(大部分))。
坏消息是,您安装的是 RedHat 客户可用的当前版本。这或多或少就是 RedHat 三年前发布 5.0 版本时的最新版本。
RedHat Enterprise 发行版因其极高的稳定性而备受推崇,除非有必要更改,否则不会发生任何变化(1)。RedHat 将提供安全修复,但除此之外,发行版几乎没有变化。这意味着您可以设置服务器,而不必担心在系统生命周期内底层会发生某些变化。
更糟糕的是,虽然您可以安装更新的组件,但您会失去使用基于 RHEL 的系统所带来的很多好处。您需要担心安全更新,以及可能依赖于(或依赖于与您手动安装的组件相冲突的组件)的组件的更新。
我看到有一个指向“博客文章”的链接,其中有人自己构建了较新版本的 PHP 副本。这可能确实是您想要的,但您将依赖此存储库来保持最新状态并及时修复。
如果您准备好迎接上述任一情况,那么您就可以参加比赛了。
如果您想要 RHEL 的稳定性和相对容易更新的特性,我会考虑尽力使用股票发行版中提供的功能。
--
(1)好吧,除了 Firefox。还有 glibc。还有……
答案3
正如前面提到的,与您所安装的版本相比,RHEL 不包含较新版本的 PHP,因此您有两个选择:
从源代码编译,转到 php.net 并下载源代码分发,在您的服务器上安装所有构建工具(或者更好的是,另一个框)并 ./configure && make && make install。然后希望您拥有兼容性所需的所有选项。当然并非不可能,但您需要权衡灵活性与每次想要应用安全修复时构建新版本的要求。
另一个选择是使用第三方存储库,因为您已经意识到信任其他人维护的二进制包存在问题。我们最近遇到了与您相同的问题,这里的开发人员需要比 RedHat 官方支持的 PHP 版本更新的版本。
我最终使用了 http://iuscommunity.org/packages/>repos @http://iuscommunity.org。这是由 RackSpace(至少是相当有名望的)赞助的项目,他们提供 RedHat 二进制兼容包和安全更新,他们提供多个版本的 PHP,包括 5.3.3。