如何使用不同版本的 PHP?

如何使用不同版本的 PHP?

我正在使用 Ubuntu 16.04。

我有多个虚拟主机,需要运行不同的 PHP 版本。我已经php-fpm安装FastCgi了,但是如何配置它?

答案1

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

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

如果我需要旧版 php(不受支持因此要小心),我可以从支持该特定版本的旧版 OS 版本开始构建。

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

即使你不选择这种方法,也可以看看docker。它会让你的工作变得更容易,而且它是当今开发中使用的“工具”。

答案2

使用 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)来使用它们

相关内容