参考

如何在 Ubuntu 20.04 上安装 PHP

ubuntu20.4安装指定版本php

ubuntu 20.04 直接安装的 php版本是 php7.4 ,总有些php构造的网站还不完全支持高版本,所以,经常会同时安装若干个 php 版本

直接 apt 安装

  1. sudo apt update

  2. sudo apt install php-fpm

    这个安装的是 php 7.4

    以下再使用 ppa 方式安装一个 php 7.2

PPA 方式安装 php 7.2

  1. 安装必要依赖软件
    apt -y install software-properties-common apt-transport-https lsb-release ca-certificates

  2. 加入 ppa 源
    add-apt-repository ppa:ondrej/php

     ...CAVEATS:1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman2. If you are using apache2, you are advised to add ppa:ondrej/apache23. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainlineor ppa:ondrej/nginx...WARNING: add-apt-repository is broken with non-UTF-8 locales, seehttps://github.com/oerdnj/deb.sury.org/issues/56 for workaround:# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/phpMore info: https://launchpad.net/~ondrej/+archive/ubuntu/phpPress [ENTER] to continue or Ctrl-c to cancel adding it....
    

    按照提示,因为我这里使用 nginx

    $ sudo add-apt-repository ppa:ondrej/nginx-mainline

    $ apt update

    $ apt search php7.2

    确认可以找到 php 7.2

  3. 开始安装
    sudo apt install php7.2 libapache2-mod-php7.2 php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache php7.2-gmp php7.2-bcmath php7.2-dom

    确认安装信息

    $ php -m

    $ php -v

切换缺省 php 版本

  1. $ which php

     /usr/bin/php
    
  2. $ whereis php

     php: /usr/bin/php7.4 /usr/bin/php7.2 /usr/bin/php /usr/lib/php /etc/php /usr/share/php7.2-xmlrpc /usr/share/php7.2-opcache /usr/share/php7.2-gmp /usr/share/php7.2-mysql /usr/share/php7.4-json /usr/share/php7.2-gd /usr/share/php7.4-readline /usr/share/php7.2-common /usr/share/php7.2-curl /usr/share/php /usr/share/php7.2-xml /usr/share/php7.4-common /usr/share/php7.2-mbstring /usr/share/php7.2-zip /usr/share/php7.4-opcache /usr/share/php7.2-readline /usr/share/php7.2-bcmath /usr/share/php7.2-json /usr/share/man/man1/php.1.gz
    
  3. $ cd /usr/bin/

    $ ll php*

     lrwxrwxrwx 1 root root      21 Sep 30 01:52 php -> /etc/alternatives/php*-rwxr-xr-x 1 root root 5047480 Aug 26 15:55 php7.2*-rwxr-xr-x 1 root root 4773816 Aug 13 05:39 php7.4*
    

    目前存在 3 个可执行脚本 php7.2 、 php7.4 和 php

  4. $ cd /etc/alternatives

    $ ll php*

     rwxrwxrwx 1 root root 15 Sep 30 01:52 php -> /usr/bin/php7.4*lrwxrwxrwx 1 root root 31 Sep 30 01:52 php.1.gz -> /usr/share/man/man1/php7.4.1.gzlrwxrwxrwx 1 root root 24 Sep 30 02:11 php-fpm.sock -> /run/php/php7.4-fpm.sock=
    
  5. 尝试切换缺省 php 版本

    $ sudo mv php php.old
    $ sudo ln -s /usr/bin/php7.2 php
    $ ll php*

     lrwxrwxrwx 1 root root 15 Oct  2 01:06 php -> /usr/bin/php7.2*lrwxrwxrwx 1 root root 31 Sep 30 01:52 php.1.gz -> /usr/share/man/man1/php7.4.1.gzlrwxrwxrwx 1 root root 24 Sep 30 02:11 php-fpm.sock -> /run/php/php7.4-fpm.sock=lrwxrwxrwx 1 root root 15 Sep 30 01:52 php.old -> /usr/bin/php7.4*
    

    感觉没有必要这么折腾!分别使用 php 和 php7.2 ,没有什么障碍!

    $ php -v

     PHP 7.4.3 (cli) (built: Aug 13 2021 05:39:12) ( NTS )Copyright (c) The PHP GroupZend Engine v3.4.0, Copyright (c) Zend Technologieswith Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
    

    $ php7.2 -v

     PHP 7.2.34-24+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Aug 26 2021 15:55:49) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologieswith Zend OPcache v7.2.34-24+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    

    $ php7.4 -v 同 $ php -v

切换 nginx 网站连接的 php 版本

  1. 这里直接修改缺省站点

    cd /etc/nginx/sites-available/

    sudo vim default

         location ~ \.php$ {include snippets/fastcgi-php.conf;##       # With php-fpm (or other unix sockets):fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;#       # With php-cgi (or other tcp sockets):#       fastcgi_pass 127.0.0.1:9000;}
    
  2. 重启 nginx 服务生效

    sudo service nginx reload

PPA 操作

Ubuntu PPA 使用指南

这个 ppa:ondrej/php 在哪里找到的

PPA 软件源 ppa:ondrej/php 在哪里找到的

Ubuntu 20.04 安装多个版本 php 并应用到 nginx相关推荐

  1. Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡)

    Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡) 参考: https://cyfeng.science/2020/05/02/ubuntu-install-nv ...

  2. Ubuntu 20.04安装python3.6版本后terminal终端无法打开

    点开terminal图标一直在转圈无法打开,想个招在文件夹中打开terminal(在应用市场重新安装terminal并不好用) 安装好python后根据教程删除修改过软链接一次,重新建立软链接到pyt ...

  3. Ubuntu 20.04安装Ros Noetic及Ubuntu 18.04安装ROS Melodic(两版本详细填坑)

    Ubuntu 20.04安装Ros Noetic及18.04安装ROS Melodic 表1-1 ROS的历史版本 1. 设置安装源 2. 添加秘钥 3. 更新列表 4. 开始安装 5. 配置ROS环 ...

  4. Ubuntu 20.04安装有道词典(成功版本)

    前言 推荐的参考文章:Ubuntu 20.04安装有道词典 有道词典推荐的下载链接http://cidian.youdao.com/multi.html 这个链接http://cidian.youda ...

  5. ubuntu 20.04安装各类软件

    ubuntu 20.04安装各类软件 一.前言 ubuntu 20.04安装后,我输入gcc -v,出现了下面的情况,差点裂开了,20.04居然没有自带gcc编译器,以前安装的版本12.04 16.0 ...

  6. Ubuntu 20.04 安装deepin-wine

    Ubuntu 20.04 安装deepin-wine Deepin Linux作为统信UOS的社区版本,在用户体验上还是相当不错的,一般办公家庭应用已经问题不大了,尤其是Deepin-Wine可以直接 ...

  7. Ubuntu 20.04 安装 Sublime

    Ubuntu 20.04 安装 Sublime 1. 去 Sublime 下载官网 2. 点击 Linux repos 3. 点击 apt 4. 依次执行以下命令: 安装GPG密钥: wget -qO ...

  8. Ubuntu 20.04安装微信和QQ

    Ubuntu 20.04安装微信和QQ: 1.安装deepin-wine环境 在终端中输入: git clone https://gitee.com/wszqkzqk/deepin-wine-for- ...

  9. ubuntu 20.04 安装 vlc、vlc-qt

    ubuntu 20.04 安装 vlc.vlc-qt 前言:众所周知安装一个软件,系统环境与软件版本是非常重要的,我在安装 vlc 与 vlc-qt 的时候走过很多弯路,下面将我遇到的一些问题(有些记 ...

  10. Ubuntu 20.04 安装微信、QQ

    Ubuntu 20.04 安装微信.QQ 一.添加仓库 二. 应用安装 三. 常见问题 1.没有应用图标 2.字体相关问题 四. 卸载清理 1.清理应用运行时目录 2.清理wine容器 3.卸载软件包 ...

最新文章

  1. Apache+MySQL+PHP安装指南
  2. 使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务
  3. 宁波机器人餐厅需要预约吗_拍婚纱照需要预约吗 预约婚纱照需要注意哪些问题...
  4. Linux调优方案,sysctl.conf的设置
  5. 深入理解 Session 与 Cookie
  6. linux手动同步文件命令,Linux文件同步命令rsync详解
  7. 完全背包问题(信息学奥数一本通-T1268)
  8. 【caffe-windows】 caffe-master 之 卷积核可视化(利用matlab)
  9. ubuntu16.04安装pycharm,并设置快捷启动方式
  10. 《APUE》读书笔记—第四章文件和目录
  11. qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ i
  12. 数据库SQL Server 2017下载及安装
  13. jsf服务_JSF ManagedBean ManagedProperty
  14. 流行的人工智能服务器,人工智能服务器前景
  15. 游戏角色写实头发制作
  16. 自定义注解,实现业务处理
  17. 纯手工采用java编写双色球、大乐透随机生成算法,真实模拟出球
  18. 多商户商城系统功能拆解34讲-平台端营销-足迹气泡
  19. 远程连接 部分基础命令
  20. 潜艇小游戏(代码续)

热门文章

  1. url中含有中文造成文件下载失败
  2. 【5003】马遍历问题
  3. MSCHART控件中长字符的X轴坐标标注全部显示
  4. Looksery Cup 2015 B. Looksery Party 暴力
  5. 颠覆传统-面向对象的设计思想(序章续)
  6. 让 list-style-image 图片垂直居中
  7. 神经网络+CNN模型训练总结:
  8. java中常见对象——StringBuffer
  9. 集成CCFlow工作流与GPM的办公系统驰骋CCOA介绍(一)
  10. 数学图形(1.41)super spiral超级螺线