背景: 近期有一个项目需要基于Thinkphp框架,为了快速上手,在虚拟机上装上Centos5.4, yum 方式安装apache php mysql,上传Thinkphp框架代码,测试运行,提示php需要5.2.0以上版本,所以只好想办法升级php
查看操作系统CentOS5.4的php版本默认为5.1.6,
[root@slave html]# php -v
PHP 5.1.6 (cli) (built: Nov 6 2014 12:25:33)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到5.3,经过搜索国外资料,现在终于找到一种升级CentOS的php到5.3的方法。
注意,此方法只能在官方的php版本上升级,如果你使用网上的升级到5.3版本的升级方法已经升级了,将无法使用本方法升级php。
首先下载两个文件(epel-release-5-3.noarch.rpm 与 remi-release-5-7.el5.remi.noarch.rpm )
用户名与密码都是www.linuxidc.com
具体下载目录在 /pub/CentOS/2011/07/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这两个文件也按照上面的方法进行编辑!
使用下面的命令进行升级,
[root@slave xuekun]# yum --enablerepo=remi update php*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror.bit.edu.cn
* base: mirrors.btte.net
* epel: ftp.sjtu.edu.cn
* extras: mirrors.btte.net
* remi: rpms.famillecollet.com
* updates: mirrors.btte.net
epel | 3.7 kB 00:00
epel/primary_db | 2.7 MB 00:01
remi | 2.5 kB 00:01
remi/primary_db | 731 kB 01:50
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package php.i386 0:5.4.40-1.el5.remi set to be updated
---> Package php-cli.i386 0:5.4.40-1.el5.remi set to be updated
--> Processing Dependency: libedit.so.0 for package: php-cli
---> Package php-common.i386 0:5.4.40-1.el5.remi set to be updated
--> Processing Dependency: libcurl.so.4 for package: php-common
--> Running transaction check
---> Package libcurl.i386 0:7.29.0-19.el5.remi set to be updated
--> Processing Dependency: openldap >= 2.3.43-25.el5_8.1 for package: libcurl
--> Processing Dependency: libssh2 >= 1.4.3 for package: libcurl
--> Processing Dependency: libssh2.so.1 for package: libcurl
---> Package libedit.i386 0:2.11-2.20080712cvs.el5 set to be updated
--> Running transaction check
---> Package libssh2.i386 0:1.4.3-8.el5.remi.1 set to be updated
--> Processing Dependency: openldap = 2.3.43-3.el5 for package: openldap-clients
--> Processing Dependency: openldap = 2.3.43-3.el5 for package: openldap-devel
---> Package openldap.i386 0:2.3.43-28.el5_10 set to be updated
--> Running transaction check
---> Package openldap-clients.i386 0:2.3.43-28.el5_10 set to be updated
---> Package openldap-devel.i386 0:2.3.43-28.el5_10 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository
Size
================================================================================
Updating:
php i386 5.4.40-1.el5.remi remi 3.0 M
php-cli i386 5.4.40-1.el5.remi remi 4.5 M
php-common i386 5.4.40-1.el5.remi remi 1.1 M
Installing for dependencies:
libcurl i386 7.29.0-19.el5.remi remi 222 k
libedit i386 2.11-2.20080712cvs.el5 epel 79 k
libssh2 i386 1.4.3-8.el5.remi.1 remi 131 k
Updating for dependencies:
openldap i386 2.3.43-28.el5_10 base 298 k
openldap-clients i386 2.3.43-28.el5_10 base 219 k
openldap-devel i386 2.3.43-28.el5_10 base 2.9 M
Transaction Summary
================================================================================
Install 3 Package(s)
Update 6 Package(s)
Remove 0 Package(s)
Total download size: 12 M
Is this ok [y/N]: y
Downloading Packages:
(1/9): libedit-2.11-2.20080712cvs.el5.i386.rpm | 79 kB 00:00
(2/9): libssh2-1.4.3-8.el5.remi.1.i386.rpm | 131 kB 00:03
(3/9): openldap-clients-2.3.43-28.el5_10.i386.rpm | 219 kB 00:00
(4/9): libcurl-7.29.0-19.el5.remi.i386.rpm | 222 kB 00:45
(5/9): openldap-2.3.43-28.el5_10.i386.rpm | 298 kB 00:00
(6/9): php-common-5.4.40-1.el5.remi.i386.rpm | 1.1 MB 02:18
(7/9): openldap-devel-2.3.43-28.el5_10.i386.rpm | 2.9 MB 00:01
(8/9): php-5.4.40-1.el (53%) 58% [======= ] 5.0 kB/s | 1.8 MB 04:14 ETA
但是经过测试,如果单独升级php将提示失败,只有联通mysql一起升级才可以,所以我们www.linuxidc.com必须执行以下命令才能升级php到5.2.9版本:
yum –enablerepo=remi update php* mysql*
CentOS 5.x 系统下使用yum 升级php到5.2.x 最方便方法
近期使用testlink 1.82 ,提及php需要升级到5.2以上,而centos 5.x目前提供php版本为5.1.6,
通过以下方法升级PHP到5.2比较方便,现推荐给大家。
先将以下地址导入。
# rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
# vi /etc/yum.repos.d/CentOS-Base.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
yum install libmcrypt -y