Cent OS升级PHP

Cent OS升级PHP

我正在解决客户服务器上的一系列安全问题,以使其符合信用卡法律等规定。

第一项工作是将 php 从 5.2.14 升级到 5.2.16。

当我运行 yum update php 时,我得到的输出如下:

Excluding Packages from CentOS-5 - Addons
Finished
Excluding Packages from CentOS-5 - Base
Finished
Excluding Packages from CentOS-5 - Extras
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Setting up Update Process
No Packages marked for Update

我对 CentOS 还不太熟悉,但使用 Debian/Ubuntu,您可以添加 PPA 以允许新的软件包。CentOS 有类似的东西吗?此输出看起来也忽略了所有主要软件包存储库。

答案1

我强烈建议使用IUS 社区项目用于在 CentOS 5 上升级 PHP 5.2 甚至 PHP 5.3 软件包的存储库。这些是一组维护良好且高质量的软件包,由Rackspace并保持,但不受支持由他们(当然,除非你是顾客)。

如果你是新手,安装说明可能有点难找。你正在寻找客户端使用指南在他们的 wiki 上。我将在这里重复说明以方便使用。

[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-6.ius.el5.noarch.rpm 

[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm

[root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm

这将下载并安装电力供应处以及 IUS 存储库。

IUS 承诺不会使用与任何官方软件库(包括 EPEL)冲突的软件包名称(这是一件好事),但事情并没有那么简单yum upgrade php。您需要先卸载所有现有的 PHP 软件包,然后从 IUS 安装相应的软件包。或者,您可以使用插件yum-plugin-replace为 YUM 添加有用的“替换”功能。


手动

第一的:

[root@linuxbox ~]# rpm -qa | grep php

[root@linuxbox ~]# yum erase php
  • rpm -qa | grep php列出每个已安装的 PHP 包。您将使用此列表从 IUS 安装所有相应的单个 PHP 包
  • yum erase php命令只会删除 PHP 及其依赖的包

最后:

[root@linuxbox ~]# yum search php52

[root@linuxbox ~]# yum install php52 php52-common php52-pecl-apc php52-mysql ...
  • yum search php52列出可用的 PHP 5.2 包
  • yum install安装您选择的 PHP 5.2 包。您可以使用在第一步中获得的列表来确定您需要哪些

yum 插件替换

[root@linuxbox ~]# yum install yum-plugin-replace

[root@linuxbox ~]# yum replace php --replace-with php52

这将神奇地确定要删除哪些 PHP 包,以及要为您安装哪些匹配的 php52 包。

相关内容