很多框架系统都有插件应用市场 (例如 Discuz!),有些插件应用开发者由于各种原因不再对插件应用更新维护,导致该应用不支持 PHP7 、 PHP8,但框架系统已经支持新版 PHP 。亦或是系统未支持新版 PHP 或不想升级到新版,但应用需要新版 PHP 才能运行。这种情况可以对 Nginx 进行配置实现同时支持多个 PHP 共存运行。
示例配置代码
location ~ [^/]\.php(/|$)
{
if ($request_uri ~* "archives"){
fastcgi_pass unix:/tmp/php-cgi-72.sock;
}
fastcgi_pass unix:/tmp/php-cgi-56.sock;
fastcgi_index index.php;
include fastcgi.conf;
include pathinfo.conf;
}
以上代码表示含有 .php 且含有 archives 的地址运行在 PHP7.2 环境,其它含有 .php 的地址运行在 PHP5.6 环境。