AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1097353
Accepted
s4n.ty
s4n.ty
Asked: 2018-11-30 23:49:30 +0800 CST2018-11-30 23:49:30 +0800 CST 2018-11-30 23:49:30 +0800 CST

如何使用不同版本的PHP?[复制]

  • 772
这个问题在这里已经有了答案:
如何在仍受支持的 Ubuntu 版本中安装不同的(升级或降级)PHP 版本? (2 个回答)
3年前关闭。

我有几个虚拟主机,我需要运行不同的 PHP 版本。我已经安装了 php-fpm 和 FastCgi,但是我该如何配置呢? 我正在使用 Ubuntu 16.04

php apache2
  • 2 2 个回答
  • 962 Views

2 个回答

  • Voted
  1. bistoco
    2018-12-01T00:29:19+08:002018-12-01T00:29:19+08:00

    也许不是您正在等待的响应,但是在您的机器中管理多个 php 版本会很痛苦。

    我发现最好的方法是使用较新的 php 版本(php7+)作为主要版本,如果我需要较旧的版本或其他特定版本,我从这里使用带有 apache/php的容器或将其用作基本图像并修改如有必要,它有很好的说明来做到这一点。

    如果我需要较旧的 php 版本(不支持,所以要小心),我可以从支持该特定版本的较旧操作系统版本构建。

    这种方法的优点是,首先,你不会用大量的包和依赖项弄乱你的机器。其次,您不会使用由于版本不兼容而最终相互冲突的所有依赖项和软件包污染您的 php 安装。最后,也是非常重要的一点,dockerizing 应用程序将为您的生产环境提供可复制的配方。

    即使你不选择这个作为你的方法,也可以看看 docker。它会让你的喜欢更容易,它是当今开发中使用的“东西”。

    • 1
  2. Best Answer
    Jan Myszkier
    2018-11-30T23:58:48+08:002018-11-30T23:58:48+08:00

    使用 nginx,您所要做的就是通过以下方式使用套接字proxy_pass:

    server{
        (...)
        location ~ ^/index\.php(/|$) {
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param DOCUMENT_ROOT $realpath_root;
        }
    }
    

    使用 apache,您需要使用proxy:

    <FilesMatch "\.php$">
         SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
    </FilesMatch>
    

    这样,您可以通过在每个虚拟主机中配置它们来使用不同的套接字(每个用于不同版本的 PHP)

    • 0

相关问题

  • 访问启用的虚拟主机时出现 403 禁止错误

  • 如何设置一台机器来将我的网站托管到世界各地 - 使用我自己的网址?

  • 如何安装 php-gtk?

  • 我如何创建自己的 php 5.3.3 包/ppa?

  • 如何回滚到 PHP 5.2?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve