【PHP】在RedHat6上通过yum安装php5.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 | $ rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm |
卸载低版本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 | ## redhat |
下载并安装对应的repo
知道了自己的linux系统版本,就执行相应的命令下载
- RHEL/CentOS 7 64 Bit
1 | $ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm |
- RHEL/CentOS 6 32/64 Bit
1 | ## RHEL/CentOS 6 32-Bit ## |
因为RedHat/CentOS 5上面, 最高支持到PHP5.5版本,所以这里就不做过多的介绍了。
删除多余的repo
如果在安装的过程中,提示已经有别的版本的epel源安装了,可以通过下面的命令删除。
1 | $ yum remove epel-release |
设置DNS
如果我们的服务器是部署在安全级别比较高的内网中,内网环境有可能会将DNS服务掐断,这样我们在通过yum下载时,就会得到无法解析dns的错误。
解决办法就是手动为你要使用的yum源下载地址配置dns。
假设我们下载的地址mirror.webtatic.com
因为DNS解析的原因无法下载,那么要做的是
- 在一个可以上网的环境,
ping mirror.webtatic.com
拿到该域名的ip地址 vim /etc/hosts
,修改hosts文件内容,添加进去ip地址及对应的域名- 示例如下:
图上就是要在内网用rpm下载webtatic源以及通过webtatic源下载php时添加进去的两条dns解析内容