【问题标题】:How do I use the AllowOverride directive to permit .htaccess files to override php_value (Apache2)如何使用 AllowOverride 指令来允许 .htaccess 文件覆盖 php_value (Apache2)
【发布时间】:2021-09-21 16:34:54
【问题描述】:

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

问题似乎是php_value不是Apache2指令,也不是memory_limitmax_upload_filesizemax_post_size等具体值的名称;然而 AllowOverride 似乎只接受 Apache2 指令的一个子集作为它的参数,以及像 AllOption 等的东西。

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

【问题讨论】:

    标签: php .htaccess apache2


    【解决方案1】:

    根据"How to change configuration settings" documentation,需要AllowOverride Options 才能使用php_value 指令。这当然隐含在AllowOverride All 中。您不要使用 php_value 作为 AllowOverride 的参数,php_value 是 mod_php 提供的指令,如果您无法使用它,您可能没有将 PHP 作为 Apache 模块运行。如果是这样,那么您需要在每个站点上使用 other methods of customizing the configuration

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

    php_value arg_separator.input &|,
    

    结果:

    【讨论】:

    • 谢谢,我确认 php7_module 已加载并且您的解决方案运行良好。我实际上不会继续为此目的使用 .htaccess 文件,但我很高兴我发现了它的工作原理!
    猜你喜欢
    • 2020-01-28
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    相关资源
    最近更新 更多