【问题标题】:Over length limit on PHP POST payload in laravel?laravel中PHP POST有效负载的长度限制?
【发布时间】:2018-07-07 06:24:16
【问题描述】:

我有一个包含大量数据的表单。其中一个值可以有数百个选项,以一个大数组的形式呈现(很像一组巨大的复选框或单选按钮)。此数据(编码)的长度为 45,500+ 个字符。

当表单得到POSTed 到 Laravel 时,数据被迭代,表单数据的各个部分都被执行。它正在做的一件事是在每个数组项中寻找一个item 键。

Laravel 抛出一个错误,数组键 item 不存在,并且(由于我的代码)目前无法正常处理它。

我已经获取了整个 POST 有效负载,使用 parse_str 解析它,并在 Laravel 之外手动迭代它,并且没有没有预期的 item 键的数组项。使用相同代码库的其他表单不会失败,只要它们的有效负载较小。

我的问题是,即使我没有超过实际的POST 大小限制,我是否可能会打破服务器上的max_input_vars 限制,并且无法从POST 有效负载中获取准确的PHP 对象?是否有其他设置可能会截断此有效负载?

【问题讨论】:

  • 可能想看看 php.ini 主文件中的 max_input_varspost_max_sizeupload_max_filesize。您是否在 /var/log/httpd/error_log (redhat) 或 /var/log/apache2/error_log (ubuntu) 中检查过您的 apache 日志?
  • 你可以,所以增加max_input_vars看看是否有帮助

标签: php laravel post


【解决方案1】:

可能对表单进行分页,将结果存储在 cookie 中,或者将它们存储到(经过验证的)数据库表中。我的倾向是,如果您的表单如此庞大,您的用户体验可能也很糟糕,您可以使用分页和中间存储元素来修复用户体验和表单数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 2016-11-25
    • 2013-02-15
    • 1970-01-01
    • 2020-07-05
    • 2011-01-17
    相关资源
    最近更新 更多