如何配置Apache的多个PHP版本从htaccess


How to configure Apache for Multiple PHP version from htaccess

我已经从Remi Repositories中安装了一组PHP版本,对于问题本身可以忽略,但是为了理解我尝试的处理而保留。

它们在命令行中工作得很好,但我想在Apache 2 (Fedora 24上的httpd)中使用它们,运行多个虚拟主机,如:

php54.test
php55.test
php56.test
php70.test
php71.test

我已经创建了VirtualHost配置文件,每个文件都工作正常。

我想运行每个相应的php版本(根据提示的服务器名),但我找不到如何从每个虚拟主机加载php。我找不到相应的Remi libphpX。所以要将它们作为模块加载:

<VirtualHost *:80>
    ServerName php54.test
    DocumentRoot /var/www/php54
    #SOMETHING LIKE THIS... 
    LoadModule php??_module       modules/libphp??.so
</VirtualHost>

我有一个共享主机,这不是新闻,它允许我从。htaccess更改PHP版本,我可以这样做:

AddHandler application/x-httpd-php54 .php
AddHandler application/x-httpd-php55 .php
AddHandler application/x-httpd-php56 .php
AddHandler application/x-httpd-php7 .php
AddHandler application/x-httpd-php71 .php

我现在可能看起来像一个傻瓜,但我怎么能做相同的。htaccess切换有多个PHP版本可用?

我可能不知道在谷歌上搜索什么以及如何找到最匹配的答案。

mod_php不能同时使用多个版本

更好的解决方案是使用php-fpm (Fastcgi进程管理器),在每个vhost中使用一个SetHandler到fcgi服务器:

    SetHandler "proxy:fcgi://127.0.0.1:9070"

或者(使用unix域socket)

    SetHandler "proxy:unix:/var/opt/remi/php70/run/php-fpm/www.sock|fcgi://localhost"
我的PHP工作站。