使用PHP-FPM时,我可以覆盖htaccess中的PHP设置吗?

Not*_*ter 3 php apache .htaccess

我的vhost看起来像这样:

<Directory "/var/www">
  Options Indexes FollowSymlinks MultiViews
  AllowOverride All
  Require all granted

  <FilesMatch "\.php$">
    Require all granted
    SetHandler proxy:fcgi://127.0.0.1:9000
  </FilesMatch>
</Directory>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将php_value行添加到我的.htaccess文件中.在我这样做的时候,我得到500个错误,这在我的Apache的错误日志中:

/var/www/.htaccess:无效的命令'php_value',可能拼写错误或由服务器配置中未包含的模块定义

所以,问题是:当使用PHP-FPM时,有没有办法通过.htaccess覆盖php.ini设置?

TIA.

Ola*_*che 9

正如其他人已经指出的那样,不能,在使用PHP-FPM时,不能通过.htaccess覆盖设置.

但似乎有一个类似PHP的机制,命名.user.ini文件.

从PHP 5.3.0开始,PHP包括对每个目录的配置INI文件的支持.这些文件仅由CGI/FastCGI SAPI处理.此功能废弃了PECL htscanner扩展.如果您使用的是Apache,请使用.htaccess文件获得相同的效果.

除了主要的php.ini文件之外,PHP还扫描每个目录中的INI文件,从所请求的PHP文件的目录开始,然后一直到当前文档根目录(在$ _SERVER ['DOCUMENT_ROOT']中设置) ).如果PHP文件位于文档根目录之外,则仅扫描其目录.

只有具有PHP_INI_PERDIR和PHP_INI_USER模式的INI设置才能在.user.ini样式的INI文件中识别.

并在下面的评论中

"如果您使用的是Apache,请使用.htaccess文件获得相同的效果."

为了澄清,这仅适用于Apache模块模式.如果你将.htaccess中的php指令放在Apache CGI/FastCGI服务器上,这将导致服务器突然出现500错误.

因此,您可以创建.user.ini类似于.htaccess的文件,但采用的是ini样式格式.