在Apache+;php fpm

在Apache+;php fpm,php,apache,.htaccess,Php,Apache,.htaccess,在Apache+PHP as模块下,您可以设置 php_value post_max_size 8M 在.htaccess中 在Apache+PHP-FPM下如何实现这一点 我使用的是FastCgiExternalServer指令,但希望将功能保留在.htaccess文件中(如果可能) 谢谢大家! 我找到了一种优雅的方法: 它似乎是PHP-FPM的.htaccess版本。您可以使用 SetEnv PHP_VALUE "post_max_size = 8M" 或 在apache配置中。本指南介

在Apache+PHP as模块下,您可以设置

php_value post_max_size 8M
在.htaccess中

在Apache+PHP-FPM下如何实现这一点

我使用的是FastCgiExternalServer指令,但希望将功能保留在.htaccess文件中(如果可能)


谢谢大家!

我找到了一种优雅的方法:

它似乎是PHP-FPM的.htaccess版本。

您可以使用

SetEnv PHP_VALUE "post_max_size = 8M"


在apache配置中。

本指南介绍了
PHPFCGI初学者的使用,这可能正是您想要的:您不能。找到另一种解决问题的方法(多个fpm进程池,用PHP编写代码)这两个值之间的区别是什么?PHP_值可以在.htaccess和Apache配置中使用。php_admin_值只能在Apache配置中使用,并且不能被应用程序(例如htaccess或php文件)覆盖。小心,这将全局设置值,而不仅仅是针对您正在工作的站点。多个值也会相互覆盖。@Sarke我自己也曾遇到过这个问题,所以这里有一个适合其他人的链接:。。。看起来PHP/FPM最终对减少服务器负载没有帮助。这个答案让我有勇气转向
PHP FPM
。但是,它在某些设置中导致了一些严重错误
SetEnv
具有设置全局值的效果,这些值对于我的所有虚拟主机并不总是正确的。特别是,丢失的文件导致
php fpm
反应过度并崩溃。这更适合于全局应用的设置。对于特定于站点的设置,
.user.ini
工作得更好。基本上,这是控制多个PHP ini指令的最佳选项。但是,其中许多无法通过.user.ini文件进行控制。请参阅:所有使用PHP_INI_系统标记的人都需要其他答案中给出的不同方法。尽管您可以通过global php.ini使用通过环境变量的方法来设置这些选项,但根据当前的虚拟主机、请求方法,可以对这些选项进行细粒度控制,请求URL等。这似乎不像.htaccess对.htaccess所在文件夹下的文件夹和文件那样递归工作。至少在文件夹级别没有php文件的情况下是这样。.user.ini是php fpm的一部分,不像.htaccess是apache的一部分。当没有请求php文件时,不会调用php fpm。
SetEnv PHP_ADMIN_VALUE "post_max_size = 8M"