我目前正在运行 CentOS v 4.8,上面安装了 PHP 版本 4.3.9。我想更新到最新的 PHP 版本 5.2 或更高版本,但是我不确定如何操作。
我读到这样做yum update php
可能会导致现有的 php 安装出现问题?
我读到过一些外部存储库也可以帮助完成此操作。有什么建议吗?
服务器处于实时状态,所以我不想因为更新而毁了它。有什么注意事项吗?我打算备份 mySQL 数据库和所有文件。还有什么需要注意的吗?
我读了 coops 在这个网站上发表的一篇文章,推荐使用 atomic repos,在我的情况下可以推荐这个吗?
wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh
yum update php
service httpd restart
这些是安装 Remi repo 的正确步骤吗?我正在使用企业 Linux(RHEL、CentOS):
su -
cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/enterprise/remi.repo
yum --enablerepo=remi update php-\*
运行 yum list php 后的输出
Error: Bad repository file ///etc/yum.repos.d/CentOS-Testing.repo, no repo stanzas.
Setting up repositories
Reading repository metadata in from local files
Installed Packages
php.i386 5.2.14-2.el4.art installed
我必须安装 atomic repo。因为我在使用 REMI 时遇到了以下错误:
warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 00f97f56
Public key for php-pgsql-5.3.3-1.el4.remi.i386.rpm is not installed
Retrieving GPG key from http://rpms.famillecollet.com/RPM-GPG-KEY-remi
GPG key retrieval failed: [Errno 4] IOError: <urlopen error (101, 'Network is unreachable')>
答案1
RHEL4(CentOS 4 的衍生版本)已进入生产阶段的最后阶段,并将于 2014 年 1 月停止使用。更多信息可参见Red Hat Enterprise Linux 生命周期页面。我建议您将精力投入到升级到 CentOS 6,而不是花时间和精力在很快就会不受支持的发行版上。
除非 Eddie 建议的是你的最佳选择,从源代码安装 php。但是,可能存在额外的依赖问题,使整个过程变得一团糟。
我建议您升级到 RHEL6 或 CentOS6。是的,此升级需要时间,但最终可能比让 php 5 在 CentOS 4 上顺利运行所花的时间要少。
答案2
我的建议是下载 php 源代码并进行编译。
在没有经验的情况下在生产服务器上进行任何类型的升级(通过 repo、通过源代码)都是自杀行为。此外,PHP 4.x 和 5.x 是完全不同的两个世界,因此您的大多数问题不是在系统方面,而是在应用程序运行时(我的意思是,例如,服务器正常、配置和升级,但所有 php 应用程序都已损坏且无法运行)。
请将自己从地狱中拯救出来,让专家在这个过程中为您提供帮助。
答案3
好的,是的,我们明白了……不要在实时服务器上这样做,但最终 OP 必须这样做。所以这里有一个答案。备份重要的东西(即配置文件、数据等……)。找到一个 yum 存储库并运行 PHP 升级。一旦你处理好 PHP,我会禁用该存储库,假设你不想升级任何其他软件包。
我喜欢雷米的回购协议
答案4
yum --enablerepo=centosplus install php
这不会给你一个 php 5.something 吗??
您还可以考虑安装 Zend 的 PHP.. 它维护得很好。:D http://files.zend.com/help/Zend-Server/rpm_installation.htm
不管怎样...编译您自己的 PHP 非常容易且快速...
忘记令人困惑的 repo 和不匹配的包..这可能非常容易或破坏您的系统..
将包管理留给管理操作系统的专家......