有没有一种方法可以在 .htaccess 中检查 PHP 设置?

3

我需要检查服务器(Apache)是否允许在 .htaccess 中使用 php_value。一些托管提供商可能不允许它。有没有办法检查是否可以在 .htaccess 文件中使用它?

例如像这样的方法:

<IfPHPValueEnabled>
php_value max_input_vars 10000
</IfPHPValueEnabled>

1
$value = ini_get('max_input_vars'); 但你不知道它是在哪里定义的。 - AbraCadaver
问题并不完全是关于 max_input_vars,抱歉让您感到困惑。我需要知道是否可以在 .htaccess 中使用设置 php_value。有些主机会禁止它的使用。 - Maks Sherstobitow
这是你期望分发的库吗?你尝试将它设置在.htaccess文件中,然后在PHP代码运行时进行验证了吗(也许触发一个警告消息来通知用户值存在问题)? - Cameron
你尝试过使用 php_info() 文件吗?它会给你所有的细节信息... - jpganz18
1
很抱歉,你真的无法知道这个。请注意,在 Apache >= 2.4 和 AllowOverrideNonfatal 选项 下可能不会失败。 - julp
显示剩余2条评论
1个回答

1

我需要的答案在这里 http://php.net/manual/en/configuration.changes.php

当使用PHP作为Apache模块时,您还可以使用Apache配置文件(例如httpd.conf)和.htaccess文件中的指令更改配置设置。您需要“AllowOverride Options”或“AllowOverride All”权限才能这样做。

使用条件语句来设置 php_value 指令

<IfModule mod_php5.c>
   php_value max_input_vars 10000
</IfModule>

PHP 可以作为模块启用(这是 IfModule 测试的内容),但仍可能禁止使用 php_(value|flag)(正如您引用的那样 - 如果 AllowOverride 不包括 Options)。此外,对于 PHP 7,mod_php5.c 将变为 mod_php7.c。 - julp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接