在centos下升级php的经历

  张一帆   02/24/17


公司的服务器很多很杂,php的版本也不尽相同。今天,遇到本来项目是php5.6的。但是,上到测试机上就报错,说是中括号作为数组定义不能够解析。后来查了一下发现这个是php版本的问题,紧接着赶紧到服务器上看了一下,果然是服务器上的php版本是php5.3.3的。那么,接下来就是准备升级服务器上的php了。由于这个服务器之前人家是用yum安装的,我通过

yum list installed | grep php

查看到了服务器上的php版本。于是,将所有查到有关于php’的全部删除了。紧接着就要下php56的安装包了。通过

yum install php56

发现,yum找不到php56的安装包。这是yum源的问题,我们需要将新源添加给yum。 首先,我需要确定centos的版本。阅读更多

cat /etc/issue

发现我们的服务器是centos6的。阅读更多

Centos 5.x
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

将源添加成功以后,开始安装php56。安装成功。

yum install php56

重启php-fpm后,发现php的版本仍然停留在php5.3.3上。这是因为php-fpm是管理php进程的容器。它相当于承载php的虚拟机一样。我们需要重启它才能够重新加载php的各项配置。但是目前我的php版本是5.6,php-fpm版本是5.3.3。所以,重启起来照样php的版本还是5.3.3 。阅读更多

yum install php56w-fpm 

这样,就完成了php-fpm的安装。重启php-fpm后,php版本升级到php5.6。阅读更多

service php-fpm restart

后发现php缺少mysqli的扩展。而php5.6的扩展又不像以前那样只把extension前面的分号去除就行。现在都需要自己安装了。但是在安装的过程中出现冲突情况:

我们可以采用

yum install php56w-mysql