CentOS下升级php5.3.3到php5.5以上

centos认的PHP版本实在是太低了,因此需要升级一下,这里记录一下升级过程。

PHP5.3.x升级PHP5.5.x

第一步:

如果服务器是32位,那么运行如下命令

wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

如果服务器是64为,那么运行如下命令

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

第二步:开启remi库

vim /etc/yum.repos.d/remi.repo

如果只想升级PHP5.4.x,那么就把[remi]部分的enabled改为1;如果想升级PHP5.5.x,那么就把[remi]和[remi-PHP55]部分的enabled都改为1

当然如果你想要升级为更高版本也可以把相应的[remi-PHP5x]部分的enabled改为1

第三步:yum更新PHP,运行命令

yum update -y

第四步:检查更新后的版本

PHP -v

其实,在这一步,没有这么顺利啦,检查版本的时候报错了,一个是redis的,一个是apc.so的,redis错误是需要升级redis,apc.so也需要升级,但后来发现apc不支持PHP5.5.x,于是停用apc。下面介绍一下redis如何升级

redis升级到3.0.3

1. kill掉正在运行的redis-server进程。
2. 可以把原来的/etc/redis/redis.conf复制到其他的地方作备份。
3. 把启动redis的bin文件下的redis-(应该是5个)文件都删掉。
4. 去官方网站wget http://download.redis.io/releases/redis-3.0.3.tar.gz
5. 解压文件,然后cd到该文件中,make,当然之后必须要make test,如果在此时提示You need tcl 8.5 or newer in order to run the Redis test make: *** [test] Error 1。那么yum install tcl,安装完后再运行make test,提示没有错误即可。
6. make install
7. 更改redis.conf的damone为yes复制redis的.conf文件到/etc/redis
8. 在/usr/local/下,启动/usr/local/bin/redis-server /etc/redis/redis.conf

下面就是查看网站是否正常运行,提示连接不上数据库,发现MysqL非正常关闭了,这可能是更新PHP过程中导致的。解决过程:

1. 重启MysqL

/etc/init.d/MysqLd restart

发现启动不了。经检查已经没有在运行的MysqL进程,于是查看MysqL日志。

2. 查看MysqL日志

vim /var/log/MysqLd.log

发现主要有两个原因造成:一个是InnoDBb memory heap被disable了,这个应该是因为升级PHP过程造成MysqL非正常关闭了,导致启动的时候有问题。

MysqL目录下

cd /var/lib/MysqL

把ib_logfile0 和ib_logfile1两个文件删掉即可

一个原因是配置文件中的default-character-set=utf8识别不了,把/etc/my.cnf配置文件中的这个参数换为character_set_server=utf8即可

修改完这两处错误之后,重启MysqL

启动ok!

到此即大功告成了,哇哈哈!

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native