Cent OS升级PHP

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

业务的第一步是从5.2.14到5.2.16的PHP

当我运行yum更新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有类似的东西吗? 这个输出使得它看起来像忽略了所有的主包装回购。

我强烈build议使用IUS Community Project软件库来升级你的PHP 5.2,甚至是CentOS 5上的PHP 5.3软件包。这些是由Rackspace使用并维护, 但不被它们支持的一组保持良好和高质量的软件包(除非你当然是客户)。

如果你是新手,安装说明可能有点难以find。 您正在寻找他们的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 

这为您下载和安装EPEL和IUS仓库。

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


手动

第一:

 [root@linuxbox ~]# rpm -qa | grep php [root@linuxbox ~]# yum erase php 
  • rpm -qa | grep 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安装你select的PHP 5.2软件包。 你可以使用你在第一步获得的列表来确定你需要的

百胜插件replace

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

这将奇迹般地确定要清除哪些PHP软件包,以及为您安装哪些匹配的php52软件包。