【问题标题】:php ini settings not working as expectedphp ini 设置未按预期工作
【发布时间】:2015-02-12 12:00:54
【问题描述】:

我有一个通过 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();时会产生影响,但表单仍然只发布一定数量的字段。

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

【问题讨论】:

  • 为什么会有人填写 3500 个表单域?
  • @Cyclone 你从来没有加入过消费者小组,对吧?
  • @Cyclone 其电子商务管理。同一产品有不同的长度、宽度、颜色和厚度,都有自己的价格和产品代码。价格也没有增量模式,因此每组选项都有自己的一组字段。我知道它可以以更好的方式构建,但这是我们的一个旧网站,目前只需要让它工作。

标签: php .htaccess ini


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的回复,但是,在发布此内容之前,我们的托管服务供应商已经对其进行了更改,因为我认为这也是问题所在。
    • @Hazonko 如果你找到了正确的答案,请分享;我有兴趣找出原因。
    • 我刚刚发布了我自己调查的答案。花了大约 10 个小时筛选所有内容!
    猜你喜欢
    • 1970-01-01
    • 2013-10-12
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    相关资源
    最近更新 更多