• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Ubuntu中支持PHP5与PHP7双版本的简单实现

    前言

    最近在编写一个工具的时候,使用了PHP命名空间特性,在命名空间中如果想引用常量、函数,需要PHP5.6以上的版本,但我阿里云 ECS 上安装的版本是PHP 5.5.9,由于 ECS 部署了很多PHP代码,如果贸然升级高版本PHP,可能会存在一些兼容性的问题。突然奇想,在同一个操作系统中,是否能够同时支持两个版本的PHP呢?

    简单查阅了相关资料,其实在 Ubuntu 中使用包安装方式支持PHP双版本非常简单,两个版本存在能够互不干扰,接下去简单做下介绍,其实相关文章很多。

    1:获取PHP7源

    我的操作系统版本是 Ubuntu 14.04.5 LTS,默认的PHP源是 5.5.9 版本,可以使用下列的命令确认:

    $ apt show php

    为了获取各个版本的PHP源,

    在 Ubuntu 官方的 PPA 包含了很多软件的源,为了支持 PPA 包,可以采用 add-apt-repository 命令行安装,如果该工具没安装,可以运行下列命令安装:

    $ apt install python-software-properties

    简单理解下 add-apt-repository 工具,该工具的作用如下:

    Adds a repository into the /etc/apt/sources.list or /etc/apt/sources.list.d or removes an existing one

    也就是说无需你手动修改 /etc/apt/sources.list,就能够通过该工具添加源。

    为了支持多版本的 PHP 的源,运行如下命令:

    $ add-apt-repository ppa:ondrej/php

    运行完成后,实际上 /etc/apt/sources.list.d/ondrej-php-trusty.list 文件更新了。

    2:更新系统

    添加源后,需要运行下列命令更新系统,然后再安装各个 PHP 版本。

    $ apt-get update -y

    3:安装PHP7.1

    接下去看看目前有多少个PHP版本可以安装。

    $ apt-cache pkgnames | grep php7

    关键输出如下:

    php7.0-fpm
    php7.1-fpm
    php7.2-fpm
    libapache2-mod-php7.0
    libapache2-mod-php7.1
    libapache2-mod-php7.2

    也就是支持两种 SAPI,我主要使用 Nginx+FPM 的方式,也可以看出目前支持三个版本的PHP7。

    我主要想使用命令行 PHP7 版本,顺带也想着把 FPM 安装上,运行如下命令了解详细信息:

    $ apt-cache depends php7.1-fpm
    
     Depends: php7.1-cli
     Depends: php7.1-common
     Depends: php7.1-json
     Depends: php7.1-opcache

    可见 php7.1-fpm 也包含了命令行PHP(php7.1-cli),接下去安装:

    $ apt-get install php7.1-fpm php7.1-curl

    3:观察安装后的文件

    运行如下命令,观察 php7.1-fpm 安装了哪些文件。

    $ dpkg -L php7.1-fpm

    关键输出如下:

    /usr/sbin/php-fpm7.1
    /etc/php/7.1/fpm/php-fpm.conf
    /etc/apache2/conf-available/php7.1-fpm.conf

    可以看出,你可以运行一个 PHP7 版本的 FPM 服务,和 /etc/php5/fpm/php-fpm.conf 使用的配置文件是互相隔离的,我的网站 www.simplehttps.com 和 blog.simplehttps.com  就使用了两个版本的 FPM。

    接下去查看 php7.1-cli 安装了哪些文件,这是我最关心的。

    $ dpkg -L php7.1-cli

    关键输出如下:

    /usr/bin/php7.1

    4:如何切换两个PHP版本

    对于命令行来说,两个版本的地址如下:

    /usr/bin/php7.1
    /usr/bin/php5

    难道运行不同版本的时候,使用完整路径?其实可以使用 update-alternatives 工具配置默认项运行的 PHP 版本。

    $ update-alternatives --set php /usr/bin/php7.1

    这样运行 php -v 就相当于运行 /usr/bin/php7.1 -v,如果想使用PHP5版本,可以运行下列命令切换:

    $ update-alternatives --set php /usr/bin/php5

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • Ubuntu16.04.4LTS安装mininet遇到的问题及解决方案
    • Ubuntu环境下使用G++编译CPP文件
    • Ubuntu下VIM配置成C++开发编辑器
    • 开发环境Ubuntu16安装以后的初始化设置
    • Ubuntu终端多窗口分屏Terminator
    • Ubuntu 16.04设置PostgreSQL开机启动的方法
    • 在Ubuntu Linux上安装和使用Git和GitHub
    • ubuntu16.04制作vim和python3的开发环境
    • foreman ubuntu16 快速安装
    • Ubuntu18下安装Nvidia驱动解决黑屏并调整分辨率问题
    • Ubuntu16.04源码安装Mininet
    上一篇:Laravel框架执行原生SQL语句及使用paginate分页的方法
    下一篇:Yii2语言国际化的配置教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    Ubuntu中支持PHP5与PHP7双版本的简单实现 Ubuntu,中,支持,PHP5,与,PHP7,