如何解决centos的php+mysql升级失败

手册/FAQ (563) 2015-11-17 10:13:54

CentOS配置失败的情况是:
首先参看系统的php版本

    # rpm -qa |grep php  

    php-common-5.1.6-20.el5_2.1  

    php-cli-5.1.6-20.el5_2.1  

    php-5.1.6-20.el5_2.1  

    php-ldap-5.1.6-20.el5_2.1  

然后看到此版本不是最新的用下面的命令升级

    # yum -y update php  

    Loading "fastestmirror" plugin  

    Loading mirror speeds from cached hostfile  

   * base: centos.candishosting.com.cn  

   * updates: centos.candishosting.com.cn  

   * addons: centos.candishosting.com.cn  

   * extras: centos.candishosting.com.cn  

   Setting up update Process  

   Could not find update match for php  

   No Packages marked for Update 

CentOS配置说没有可以升级的php版本,而官方的php都是最新的了,php是5.2.*的了 可是centos系统的还是5.1。解决思路:是由于centos系统自带的源里面的php版本没有更新,需要额外的源才可以升级php和mysql。办法:更新系统的源,然后在升级就可以解决了。

   #vi /etc/yum.repos.d/zongguofengcn.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  

保存此文件wq,再次运行下面的命令就可以完成php的升级了#yum -y update php,同理,运行下面命令,升级mysql #yum -y update mysql,注释:

CentOS配置中yum是linux版本的一些rhel、centos等系统自带的用于方便地添加/删除/更新RPM包的工具,它能自动解决包的倚赖性问题。用yum更新一些软件包,一条命令就可以搞定了CentOS配置的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-3.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这两个文件也按照上面的方法进行编辑!!

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

   yum --enablerepo=remi update php* mysql*  

   yum --enablerepo=remi update php* mysql* 

THE END