Contents
  1. 1. 下载Webtatic源
  2. 2. 卸载低版本php
  3. 3. 用yum安装php5.6
  4. 4. 查看php版本、重启apache服务
  5. 5. 补充内容
    1. 5.1. EPEL源
      1. 5.1.1. 确定linux版本
      2. 5.1.2. 下载并安装对应的repo
      3. 5.1.3. 删除多余的repo
    2. 5.2. 设置DNS
  6. 6. 致谢

最近在研究一些php的framework,因为虽说已经搞了很长时间的php,写的代码虽说是自己按照MVC模式做了分类,总感觉和一些用户基数大的框架之间还是有很多差距的,代码结构也不是非常的合理。然后网上搜了搜php框架,似乎近几年Laravel的用户量最多,但是大致了解了下,感觉Laravel有点厚重了,而我想要的是一款轻量级的框架,毕竟目前的项目还没有到需要上那么大的框架。于是,Github上排名第3的CodeIgniter就进入考察范围了。
关于CodeIgniter的使用过程,我会在后续抽空写一些文章,这篇文章主要介绍如何用yum安装php5.6。

之前一直用的一个yum源,里面的php还是5.3.3版本的,已经算是比较老的版本的,毕竟现在php已经进入7.0版本了,而相对比较稳定的,支持的比较好的,应该算是5.6了,所以才有了把php版本从5.3升级到5.6的想法。

下载Webtatic源

php新版本的源,可以通过添加webtatic源来进行下载,然后所有的yum源都是安装到/etc/yum.repos.d目录下的,下载安装完成后,我们可以查看下是否安装成功了。

1
2
3
$ rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
...
$ ll /etc/yum.repos.d



卸载低版本php

在安装新版本php之前,我们需要先卸载掉老版本的php

1
$ yum remove php-common



程序会告诉我们将要卸载掉哪些内容,我们确认无误之后,输入y就可以开始卸载了。

用yum安装php5.6

卸载完成后,我们在命令行中输入下面的命令

1
$ yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring

这个命令基本上涵盖了我们LAMP中可能用到的php的相关程序



下载安装过程中可能会出现错误,我们可以按照提示,在命令后面加上--skip-broken来跳过错误的包。
图上所示的是php的加密库mcrypt因为依赖的关系没有安装成功。

查看php版本、重启apache服务

安装完成后,我们可以在命令行中查看下是否php新版本已经安装成功了

1
$ php -v



重启apache命令这里也顺手贴一下吧

1
$ service httpd restart

到这里,完整的PHP升级过程就完成了。

补充内容

EPEL源

其实原本我是想从epel上找一找有没有新的php版本的,结果发现epel上也没有。但是关于yum的epel源,还是有必要记录下安装过程。
EPEL的安装还是相对比较简单的,只需要下载相应版本的epel,然后用rpm命令安装就好了。

确定linux版本

在命令行中输入下面的命令,来查看自己的linux版本,我使用的是RedHat

1
2
3
4
## redhat
$ cat /etc/redhat-release
## centOS
$ cat /etc/centos-release

下载并安装对应的repo

知道了自己的linux系统版本,就执行相应的命令下载

  • RHEL/CentOS 7 64 Bit
1
2
$ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
$ rpm -ivh epel-release-7-9.noarch.rpm
  • RHEL/CentOS 6 32/64 Bit
1
2
3
4
5
6
## RHEL/CentOS 6 32-Bit ##
$ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm
## RHEL/CentOS 6 64-Bit ##
$ wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm

因为RedHat/CentOS 5上面, 最高支持到PHP5.5版本,所以这里就不做过多的介绍了。

删除多余的repo

如果在安装的过程中,提示已经有别的版本的epel源安装了,可以通过下面的命令删除。

1
$ yum remove epel-release

设置DNS

如果我们的服务器是部署在安全级别比较高的内网中,内网环境有可能会将DNS服务掐断,这样我们在通过yum下载时,就会得到无法解析dns的错误。
解决办法就是手动为你要使用的yum源下载地址配置dns。

假设我们下载的地址mirror.webtatic.com因为DNS解析的原因无法下载,那么要做的是

  1. 在一个可以上网的环境,ping mirror.webtatic.com拿到该域名的ip地址
  2. vim /etc/hosts,修改hosts文件内容,添加进去ip地址及对应的域名
  3. 示例如下:



图上就是要在内网用rpm下载webtatic源以及通过webtatic源下载php时添加进去的两条dns解析内容

致谢

Contents
  1. 1. 下载Webtatic源
  2. 2. 卸载低版本php
  3. 3. 用yum安装php5.6
  4. 4. 查看php版本、重启apache服务
  5. 5. 补充内容
    1. 5.1. EPEL源
      1. 5.1.1. 确定linux版本
      2. 5.1.2. 下载并安装对应的repo
      3. 5.1.3. 删除多余的repo
    2. 5.2. 设置DNS
  6. 6. 致谢