Apache 中的 Nginx 位置块等效项(用于传递给不同的 php-fpm 版本)

Apache 中的 Nginx 位置块等效项(用于传递给不同的 php-fpm 版本)

我需要让 PHP 5 和 7 同时工作,因为需要使用两个仅为版本 5 和 7 构建的 PHP 扩展。

我通过将调用 PHP 5 扩展的页面命名为 page.php5 来实现与 Nginx 的协同工作,并且具有如下位置块:

location ~ \.php5$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
}

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

运行良好。但是如何对 Apache 执行相同的操作?我读过有关使用不同的虚拟主机的文章,一个使用 PHP 模块,另一个使用 fast-cgi,但理想情况下,我宁愿使用更接近上述位置方法的方法,并且只使用一个主机。

这能做到吗?

谢谢。

答案1

查看手册修改代理服务器正确的语法来传递所需的选项,但等效的大致是使用ProxyPassMatch

ProxyPassMatch ^/(.*\.php5(/.*)?)$ unix:/var/run/php5-fpm.sock;
ProxyPassMatch ^/(.*\.php(/.*)?)$  unix:/var/run/php/php7.0-fpm.sock;

相关内容