如何使用 AllowOverride 指令允许 .htaccess 文件覆盖 php_value (Apache2)

How do I use the AllowOverride directive to permit .htaccess files to override php_value (Apache2)

我想设置三个不同 php_value 参数的值,在每个 <VirtualHost> 的基础上,使用每个主机 .htaccess 文件。据推测,为了做到这一点,我需要在每个 <VirtualHost> 配置中放置一个 AllowOverride 指令以允许覆盖这些值;我不想简单地使用 AllowOverride All 因为这似乎过于宽容而且有点矫枉过正。

问题似乎是 php_value 不是 Apache2 指令,也不是特定值的名称,例如 memory_limitmax_upload_filesizemax_post_size;然而 AllowOverride 似乎只接受 Apache2 指令的一个子集作为参数,以及 AllOption

谁能指出我正确的方向?我知道我可以简单地使用 php.ini 或在 <VirtualHost> 配置本身中包含 php_value 定义,但我真的很想知道它是如何通过 .htaccess 完成的先归档。

根据 "How to change configuration settings" documentation, AllowOverride Options is required to use the php_value directives. This is of course implicit in AllowOverride All. You do not use php_value as an argument to AllowOverride, php_value is a directive provided by mod_php, if you are not able to use it, you may not be running PHP as an Apache module. If so, so you will need to use other methods of customizing the configuration 每个站点。

文档中的配置示例是一个很好的起点。第一步是验证您是 运行 mod_php。之后,如果您已为虚拟主机适当地设置 AllowOverrides,您应该能够简单地将 php_value 声明添加到您的 .htaccess 文件中。例如,我刚刚测试了将这一行添加到 .htaccess 文件中:

php_value arg_separator.input &|,

结果: