php获取$_POST与php://input值不一致

情景

真是什么情况都会有,今天在提交表单时,提示保存成功,但是数据库却没有数据……

排查

还以为是被xx云的应用防火墙拦截了呢,后来调试发现通过 $_POST 获取的数据和 php://input 获取来的数据不一致

解决

找到原因了就好办了,post 表单参数过多超过1000个,php 已经不能处理了,就抛掉了。
php.ini 默认配置只接受1000个变量

;max_input_vars=1000

把上述注释的配置打开,根据自己需求修改就可以了,我这直接设置了5000
由于是程序自动循环生成的表单,所以超过1000个也情有可原了。

参考:
https://www.cnblogs.com/cymbidium/p/5221066.html

Author: thinkwei

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注