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 軟體包的儲存庫。機架空間並維護,但不支持由他們提供(當然,除非您是客戶)。

如果您是新手,安裝說明可能有點難找到。您正在尋找客戶端使用指南在他們的維基上。為了便於使用,我將在此處複製說明。

[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 添加有用的「替換」功能。


手動

第一的:

[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 軟體包。

相關內容