美文网首页
CentOS 安装PHP7的正确姿势

CentOS 安装PHP7的正确姿势

作者: 切糕糕 | 来源:发表于2017-10-22 08:26 被阅读46次

CentOS上的PHP版本都十分古老,满足不了一些框架对PHP版本的要求。于是,出现了许多第三方软件库,如EPEL、RPM Fusion、Remi等,这些库提供了新版的PHP。让我们的系统能与时俱进。

但是,第三方软件库有几个缺点:第一,他们提供的软件没有经过CentOS官方测试,在安装软件的同时,可能会替换掉系统的一些核心文件,造成系统不稳定。第二,第三方库安装的软件可能不保证兼容性,也许对系统升个级就会导致某个软件没法使用。

所以本篇推荐用SCL(Software Collections)软件库安装高版本的PHP。SCL属于CentOS官方的软件库,经过充分测试,安装软件时不会替换系统的核心文件,保证了系统的稳定性。

安装SCL很简单,只需一条命令就可以了:

[root@localhost]# yum install centos-release-scl-rh

然后就能在yum中搜到新版的PHP了:

[root@localhost]# yum search php
...
php54-runtime.x86_64
php55-runtime.x86_64
rh-php56-runtime.x86_64
rh-php70-runtime.x86_64
...

rh-前缀是RedHat的意思,告诉你这是官方提供的PHP而不是第三方库提供的。作者猜测这个前缀规范是2015年左右制定的,PHP5.4 & 5.5是在这之前发布的,为了保证你的程序的兼容性(比如你的某些程序里已经写了yum install php55,加个前缀程序就挂了),就没带上rh-前缀。

接下来,安装PHP7.0:

[root@localhost]# yum install rh-php70

安装完之后,PHP实际会安装在/opt/rh目录下。

此时如果你运行php命令,系统依然会提示你command not found。这是因为,SCL的风格就是把软件对系统的影响减少到最小,甚至安装完PHP,php命令都不会被添加到$PATH变量中,所以你没法直接执行软件中的命令的。需要通过scl enable命令显示执行:

先看看SCL安装了哪些软件:

[root@localhost]# scl -l
rh-php70

可以看到我们在系统安装了一个rh-php70,先启用它并执行命令:

[root@localhost]# scl enable rh-php70 "php -v"
PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

命令成功执行了。要是每一条命令都要这么执行,太麻烦了!不要紧,你可以不用每次执行一条命令,而是直接执行bash命令,那么新开的shell就能自动识别php了:

[root@localhost]# scl enable rh-php70 bash
[root@localhost]# php -v
PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

[root@localhost ~]# php -m
[PHP Modules]
bz2
calendar
...

SCL以scl enable方式管理软件,虽然在使用上增加了一点点的麻烦,但这绝对地保证了系统稳定性。而且这么做还有一个好处:就是系统上可以多个PHP版本共存而互相不冲突。方便你测试代码或者框架,在各个版本PHP上的兼容性。

总之,要做一个严谨的运维,本篇还是十分推荐用SCL管理你系统上的软件。

相关文章

  • 程序日记2018-05-03

    centos7 安装nginx和php7 centos7 安装nginx和php7 centos7系统安装php7...

  • CentOS 安装PHP7的正确姿势

    CentOS上的PHP版本都十分古老,满足不了一些框架对PHP版本的要求。于是,出现了许多第三方软件库,如EPEL...

  • 服务架设-CentOS7下编译安装 PHP7

    Centos7.2 编译安装PHP7 PHP7,编译安装: 环境:centos7.2 (注意:因为我用的ng...

  • Centos 7 x86_64 Nginx + PHP 安装步

    Centos 7 Nginx + PHP 安装步骤 Centos 7 下的 PHP7/Nginx/Memcache...

  • Centos 7 Nginx + PHP 安装步骤

    Centos 7 Nginx + PHP 安装步骤 Centos 7 下的 PHP7/Nginx/Memcache...

  • centos 7安装php

    查看centos版本 参考https://wiki.centos.org/HowTos/php7安装好后,配置nginx

  • 安装PHP

    查看 centos 版本 删除之前的 php 版本 rpm 安装 Php7 相应的 yum源 CentOS/RHE...

  • 有用教程

    阿里云里Centos 7 PHP7环境配置 LNMP 在centos7通过yum安装PHP7CentOS 7安装完...

  • centos7 安装 php7

    在centos7系统上安装php7环境,步骤如下所示: 一、安装php7相关的yum源 rpm -Uvh http...

  • 安装memcached

    由于前文“Centos 7.2 yum安装php7”中升级了php到php7,导致之前可以正常使用的phpmyad...

网友评论

      本文标题:CentOS 安装PHP7的正确姿势

      本文链接:https://www.haomeiwen.com/subject/oxabuxtx.html