情景
真是什么情况都会有,今天在提交表单时,提示保存成功,但是数据库却没有数据……
排查
还以为是被xx云的应用防火墙拦截了呢,后来调试发现通过 $_POST 获取的数据和 php://input 获取来的数据不一致
解决
找到原因了就好办了,post 表单参数过多超过1000个,php 已经不能处理了,就抛掉了。
php.ini 默认配置只接受1000个变量
;max_input_vars=1000
把上述注释的配置打开,根据自己需求修改就可以了,我这直接设置了5000
由于是程序自动循环生成的表单,所以超过1000个也情有可原了。
参考:
https://www.cnblogs.com/cymbidium/p/5221066.html