在 Linux 上更新 PHP-“没有标记为更新的软件包”?

在 Linux 上更新 PHP-“没有标记为更新的软件包”?

笔记:我有一个应用程序需要 5.2,但我的服务器目前运行的是 5.1.6。

我对服务器管理还很陌生,但我认为将 PHP 更新到 5.2+ 的任务应该相对简单。我在网上发现,据称以下内容足以完成此操作:

yum update php

但是当我运行这个时,输出如下:

[root@ip-XXX-XXX-XXX-XXX /]# php -v
PHP 5.1.6 (cli)(构建于:2010 年 1 月 13 日 17:13:05)
版权所有 (c) 1997-2006 PHP 集团
Zend Engine v2.1.0,版权所有 (c) 1998-2006 Zend Technologies
[root@ip-XXX-XXX-XXX-XXX /]# yum 更新 php
已加载插件:fastestmirror
确定最快的镜像
 * 附加组件:p3plmirror02.prod.phx3.secureserver.net
 * 基础:p3plmirror02.prod.phx3.secureserver.net
 * 附加功能:p3plmirror02.prod.phx3.secureserver.net
 * turbopanel 基础:p3plmirror02.prod.phx3.secureserver.net
 * turbopanel-centos5:p3plmirror02.prod.phx3.secureserver.net
 * 更新:p3plmirror02.prod.phx3.secureserver.net
附加组件 | 951 B 00:00
附加组件/主要 | 201 B 00:00
基础 | 2.1 kB 00:00
基础/primary_db | 1.6 MB 00:00
附加内容 | 1.1 kB 00:00
额外内容/主要内容 | 107 kB 00:00
附加功能 325/325
涡轮面板底座 | 951 B 00:00
turbopanel-base/primary | 72 kB 00:00
涡轮面板基座 494/494
turbopanel-centos5 | 951 B 00:00
turbopanel-centos5/primary | 2.1 kB 00:00
turbopanel-centos5 8/8
更新 | 1.9 kB 00:00
更新/primary_db | 463 kB 00:00
设置更新流程
没有标记为更新的软件包
[root@ip-XXX-XXX-XXX-XXX /]# php -v
PHP 5.1.6 (cli)(构建于:2010 年 1 月 13 日 17:13:05)
版权所有 (c) 1997-2006 PHP 集团
Zend Engine v2.1.0,版权所有 (c) 1998-2006 Zend Technolog
[root@ip-XXX-XXX-XXX-XXX /]# 没有标记为更新的软件包
[root@ip-XXX-XXX-XXX-XXX /]# php -v
bash:否:未找到命令
[root@ip-XXX-XXX-XXX-XXX /]# [root@ip-XXX-XXX-XXX-XXX /]# php -v
bash:[root@ip-XXX-XXX-XXX-XXX:未找到命令
[root@ip-XXX-XXX-XXX-XXX /]# PHP 5.1.6 (cli) (构建于:2010 年 1 月 13 日 17:13:05)
bash:意外标记‘(’附近有语法错误
[root@ip-XXX-XXX-XXX-XXX /]# 版权所有 (c) 1997-2006 PHP 集团
bash:意外标记‘c’附近有语法错误
[root@ip-XXX-XXX-XXX-XXX /]# Zend Engine v2.1.0,版权所有 (c) 1998-2006 Zend Technologies
bash:意外标记‘(’附近有语法错误
[root@ip-XXX-XXX-XXX-XXX /]#

在运行命令之前和之后,我的 PHP 版本都是 5.1.6。我对这个更新过程是否太天真了?我是否有必要采取更详细的路线?

答案1

您正在尝试升级发行版提供的软件包。通常,发行版不会更改版本,而是向后移植安全修复程序,这样做是为了维护更稳定的环境。由于重大修订更改会影响软件的运行,因此它们通常只会在发行版的主要修订之间进行。

如果您想运行最新的 PHP,您可能必须创建自己的包、找到第三方包或从源代码进行编译以制定您自己的构建标准。

根据提供的输出,可以合理地假设您正在运行当前发行版可用的最新版本的 PHP。

CentOS wiki 上似乎有一个演练使用开发仓库更新至 5.2。

答案2

不,你没有做错什么,只是 5.1.6 是最新的软件包 - 至少在 CentOS 存储库中是这样的。你可以执行yum info php以获取更详细的信息,包括存储库中的版本号。

相关内容