公司项目遇到一个后台接受的参数不全,被截取了。
发现是因为php.ini中max_input_vars默认为1000。
我的项目case中后台管理涉及到提交巨大表单 超过1000个变量
大部分解决办法为修改服务器 php.ini 文件中的 max_input_vars 。这个是PHP5.3.9之后开始增加的一个变量。 当超过变量值以后 发送的数据将被自动截断,造成数据丢失。
在修改了max input vars 和post_max_size之后 重启服务器 你会发现 加载的速度变得很慢 。服务器默认配置在万不得已的情况下最好不要修改。同时,项目中无法确认可能传输的字段的个数,所以max_input_vars不确定设置成多少合适。
第二个解决方案,无需修改max_input_vars 变更传输数据的方式。将传输的变量专成一个json串去传,后台接受到后,再反序列成数组。