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

/etc/init.d/mysqld restart

启动ok!

 

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