版权声明:本文为博主原创文章,未经博主允许不得转载。
因为项目需要新增对webp格式图片的处理,而webp格式的图片必须php5.5以上版本,所以不得不对服务器的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
第三步: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!
到此即大功告成了,哇哈哈!