我需要让 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;