CentOS 5.3 通过yum升级php的方法

方法一(PHP5.3):

转自:开源ISPCP社区    http://www.ispcpcn.com/article/13/
CentOS5.3的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到5.2.9,比较常见的是升级到5.2.6版本的,经过搜索国外资料,现在终于找到一种升级CentOS的php到5.2.9的方法。

注意,此方法只能在官方的php版本上升级,如果你使用网上的升级到5.2.6版本的升级方法已经升级了,将无法使用本方法升级php。
运行下面命令:

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/5/remi/i386/remi-release-5-7.el5.remi.noarch.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

然后编辑/etc/yum.repos.d/remi.repo
#vi /etc/yum.repos.d/remi.repo
在这个文件的最后增加一行:
priority=1

保存退出。

/etc/yum.repos.d/epel.repo/etc/yum.repos.d/epel-testing.repo这两个文件也按照上面的方法进行编辑!

使用下面的命令进行升级,但是经过测试,如果单独升级php将提示失败,只有连同mysql一起升级才可以,所以我们必须执行以下命令才能升级php到5.2.9版本:

yum –-enablerepo=remi update php* mysql*

注意:此方法将 php 升级 到 5.3了。

方法二(PHP5.2):

或者 去 http://oss.oracle.com/

下再 php5.2的rpm包

方法三:

#vi /etc/yum.repos.d/utterramblings.repo

输入

[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

最后

yum update php -y

现在我用的就是通过 这种方式装的,升级之后版本
php-5.2.11
httpd-2.2.14


Centos5.4(webmin)中Yum升级mysql5.1和php5.2(禁止php5.3) centos5.3,centos5.4安装webmin默认的是 mysql 5.0,php5.1 我需要升级到

mysql5.1和php5.2(禁止php5.3),怎么办?

给yum安装rpmforge:
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

yum list mysql php 发现都是最新版本了,看来标准的yum源没有更新

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-7.el5.remi.noarch.rpm
rpm -Uvh remi-release-5-7.el5.remi.noarch.rpm epel-release-5-4.noarch.rpm

yum –enablerepo=remi list mysql

发现可以升级到 mysql 5.1.44-1.el5.remi

yum –enablerepo=remi update mysql

发现升级时系统会默认自动把php也一并升级到 5.3,而zend optimizer 目前不支持 Php5.3,所以这里需要禁止升级php5.3

vi /etc/yum.conf

最后一行增加

exclude=php*5.3*

然后再yum –enablerepo=remi update mysql,就看不到php的升级了.

搞定:

[root@www.ctohome.com backup]# php -v 还是旧的5.1.6
PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies

[root@www]# mysql -V 升级到5.1.44了
mysql Ver 14.14 Distrib 5.1.44, for redhat-linux-gnu (i686) using readline 5.1

升级mysql 5.1.41-1之后,请执行以下操作:
(1)将原有的/etc/my.cnf备份,将/etc/my.cnf.rpmnew改名为my.cnf
(2)升级table
mysql_upgrade -p
(3)自动修复table
mysqlcheck –all-databases –check-upgrade –auto-repair -p

找到一个yum源,有php5.2,方法如下:
http://www.webtatic.com/blog/2009/06/php-530-on-centos-5/

rpm –import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy
wget -P /etc/yum.repos.d/ http://repo.webtatic.com/yum/webtatic.repo
yum –enablerepo=webtatic list php

发现有php5.2 和 php5.3可以升级,

我们禁止升级php5.3
vi /etc/yum.conf
最后一行增加
exclude=php*5.3*

或者:
yum –enablerepo=webtatic –exclude=php*5.3* list php
yum –enablerepo=webtatic –exclude=php*5.3* update -y php

[root@www]# php -v 升级到5.2.12了,收工!

PHP 5.2.12 (cli) (built: Dec 17 2009 19:40:56)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies

yum-allowdowngrade 可以降级的插件:

allow downgrade for yum:

yum install yum-allowdowngrade

Add a line to yum.conf:

showdupesfromrepos=1

After that list all php packages:

yum list php

If php 5.2.8 is available, remove new one:

yum remove php

and install an old one:

yum –allow-downgrade install php-5.2.8