Nginx

Apache 中等效的 Nginx 位置塊(用於傳遞到不同的 php-fpm 版本)

  • August 1, 2016

我需要讓 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,但理想情況下,我寧願擁有更接近上述位置方法的東西,並且只有一個主機。

這可以做到嗎?

謝謝。

檢查mod_proxy_fcgi的手冊以獲取正確的語法來傳遞所需的選項,但大致相當於使用 a ProxyPassMatch

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

引用自:https://serverfault.com/questions/793126