今天我在用phpMyAdmin备份导出SQL的时候,结果提示:
警告:当前表单包含的字段多于1000,受限于PHP中max_input_vars值的配置,该次提交有可能忽略其中一部分。
原因:
由于我一个数据库里面的表大约有300张的样子,所有的字段加起来肯定超过了1000。不可能平均一张表还没有4个字段吧!这毕竟是正式项目,又不是测试着玩的。
解决方法
解决问题之前,我要先给大家说一点相关的小基础:
1、max_input_vars 表示的是:可以接受多少个 GET/POST/COOKIE 输入变量?
2、php.ini配置中 max_input_vars 默认值是1000。如果此配置被屏蔽掉,也代表默认1000。
3、如非必要,尽量不要将max_input_vars值变大,这种改大限制的方式也是治标不治本。
第一种方法:
将 php.ini 中 max_input_vars 值变大。例如:
max_input_vars = 5000
第二种方法:
将那些重复的提交信息组,提交前变成一个字段去提交。变成一个字段的方法例如:将信息组变成json或序列化成字符串。
最后,再给大家说说我是如何解决这个问题的?
我的解决方法也很粗爆,由于表很多,我直将 max_input_vars 设置为 10000 ;重启PHP让配置生效。
再去用phpMyAdmin备份导出SQL。
备份导出SQL成功后,最后再回去 将 max_input_vars = 10000 改为 1000 再屏蔽掉它。再重启PHP让配置生效。