欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

linux php5.3.x升级到php5.5.x

程序员文章站 2022-05-31 10:34:37
...
第一步:

如果服务器是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即可(无法识别character_set_server=utf8)就不要去理会!

【cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)】

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

/etc/init.d/mysqld restart

启动ok!