为什么apache提供php扩展名,而FPM / FastCGI提供具有专有扩展名的php文件?

问题描述

在最近更新PHP之后,我们遇到了两个文件之间的会话丢失的问题。这两个文件具有不同的扩展名,但都是PHP。经过研究,我们发现在PHP版本7.3.22中将.php文件提供给Server API Apache 2.0。但是,私有扩展(pext)也由PHP 7.3.22版中的Server API FPM / FastCGI提供。我们认为这是会话未转移的原因。

我们在htaccess中使用此规则将专有扩展用作PHP:

AddType应用程序/ x-httpd-php .php .pext

我们想知道如何设置,以便两个扩展都由相同的Server API提供服务,以便它们可以共享会话数据。

解决方法

发现它:从php 7.2创建了另一个php.conf文件:php72-php.conf,该文件不复制以下设置;

SetHandler代理:fcgi:// php-fpm

因此-默认情况下-新的php.conf将Server API Apache设置为php,而pext保留了FPM。添加完上述内容并重新启动FPM和Apache之后,一切都很好,并且可以再次共享会话。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...