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 有類似的東西嗎?此輸出使它看起來也忽略了所有主包儲存庫。
我強烈建議使用IUS 社區項目儲存庫來升級您的 PHP 5.2,甚至是 CentOS 5 上的 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
這將為您下載並安裝EPEL和 IUS 儲存庫。
IUS 承諾不會使用與任何官方 repos 衝突的包名稱,包括 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 軟體包。您將使用在第一步中獲得的列表來確定您需要哪個百勝外掛替換
[root@linuxbox ~]# yum install yum-plugin-replace [root@linuxbox ~]# yum replace php --replace-with php52
這將神奇地確定要刪除哪些 PHP 包,以及為您安裝哪些匹配的 php52 包。