php ini 设置未按预期工作

php ini settings not working as expected

我有一个通过 POST 提交 3500 个字段的表单。这曾经与一些 ini_set(); 定义一起工作,但由于重建服务器以包含 suhosin 它不再工作。

我已将这些添加到 .htaccess 中以纠正此问题并使其正常工作。

php_value suhosin.perdir pr
php_value max_execution_time 600
php_value max_input_vars 6000
php_value max_input_time 300
php_value post_max_size 320M
php_value suhosin.post.max_vars 6000
php_value suhosin.request.max_vars 6000

这些值高于需要的值,因为客户端可以在 CMS 中构建这些值,并且将来可能需要。

这些可以看出在使用时有影响 phpinfo(); 但表单仍然只发布一定数量的字段。

我缺少什么?我搜索了堆栈溢出,看来我已经完成了我需要做的一切。

可能是因为您的 PHP 安装不允许在每个目录的基础上修改 Suhosin Post 变量。

如果您希望通过 .htaccess 在每个目录的基础上更新 Suhosin ini 设置,那么您需要将 suhosin.perdir = "p" 添加到您的 php.ini

@carbontwelve 在 Apache mod_security 上为 SecRequestBodyNoFilesLimit 设置了一个限制,该限制设置为 128KB。这是我们的托管服务提供商最近为提高安全性所做的更改。我让他们对其进行了更改,然后 BOOM,它像以前一样工作。