最近在项目中,出现一个奇怪的现象,有一个大form里面有上千个input,提交的时候,老是发现post过来的数据不完整,一开始还怀疑是html 表单名称有冲突,排除掉了。
然后,网上找了一堆,php.ini 的post_max_size和upload_max_filesize都设置了很大的值,没用,nginx的client_max_body_size 500m;加到了那么大的值,也没用。
最后终于google到办法:原来PHP从5.3.9开始增加一个变量 max_input_vars 用来限制提交的表单数量,实在无语。
该值默认情况下是1000 , 不能满足有1000个以上输入项的需求,所以得在php.ini 里面加上更大的值如:
max_input_vars = 5000
修改后重启apache,终于一切正常!
您可能感兴趣的文章:解决PHP里大量数据循环时内存耗尽的方法php post大量数据时发现数据丢失问题解决方法php查询mysql大量数据造成内存不足的解决方法php导入大量数据到mysql性能优化技巧2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题phpExcel导出大量数据出现内存溢出错误的解决方法PHP查询MySQL大量数据的时候内存占用分析phpmyadmin里面导入sql语句格式的大量数据的方法asp和php下textarea提交大量数据发生丢失的解决方法PHP查询大量数据内存耗尽问题的解决方法
表单提交
表单
方法
数据
PHP