Yek*_*ver 5 php string variables serialization
我页面上有大量输入元素,应该通过ajax提交给服务器。
我创建了一个数组并尝试发送它,但是我收到了一个PHP警告:“您的PHP配置限制了以表格形式发布的最大字段数:max_input_vars为1000”
因此,我决定绕过此警告,并将所有巨大的数组修改为序列化的字符串。结果-警告消失了,但是我发现服务器端的数据被截断了。
PS在这两种情况下,都可以通过增加max_input_vars变量来解决问题。但是在第二个中数据被parse_str($_POST['data'], $data)功能截断了!
尝试解析巨大的字符串时,为什么要应用“ max_input_vars”的限制?
您可以在 中更改它php.ini。默认限制是1000。这是手册上说的。
可以接受多少个输入变量(限制分别应用于 $_GET、$_POST 和 $_COOKIE 超全局)。使用此指令可以降低使用哈希冲突的拒绝服务攻击的可能性。如果输入变量多于该指令指定的数量,则会发出 E_WARNING,并且会从请求中截断更多输入变量。此限制仅适用于多维输入数组的每个嵌套级别。
所以基本上它适用于每个嵌套级别。
如果情况并非如此,请尝试检查post_max_size是否也可能截断所发布内容的长度。