为什么PHP数据会截断POST数据?

时间:2016-04-18 15:57:03

标签: php arrays post truncate missing-data

我有一个非常大的形式,其中包含许多项目。升级到PHP 7后,在新环境中,服务器不会收到某些POST元素。 $_POST数组不为空,它包含许多元素,但缺少$_POST数组末尾的某些元素。

不会显示任何错误消息。

post_max_sizephp.ini的增加(从8M增加到128M)并没有帮助。数据结构本身不是太大,不到400k,所以这不应该是原因。

为什么会这样?

1 个答案:

答案 0 :(得分:3)

自PHP 5.3.9起。存在一个名为max_input_vars的新php.ini设置。它确定可以从接收的数据中使用多少项。默认情况下,它是1000,这意味着只使用$ _POST中的前1000个项目。

因此,如果增加post_max_size没有帮助,那么尝试将max_input_vars从1000增加到5000或任何你需要的。

更多信息:PHP Manual for max_input_vars