Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php大form用post方法传递数据丢包的问题

php大form用post方法传递数据丢包的问题

发布时间:2015-05-12   编辑:www.jquerycn.cn
在生产环境中,一个巨大无比的form,包括三张图片,几百个输入框,近一千个checkbox,在用post方法提交到后台时,数据被拦腰截断。

在生产环境中,一个巨大无比的form,包括三张图片,几百个输入框,近一千个checkbox,在用post方法提交到后台时,数据被拦腰截断。
一路打debug,发现PHP 拿到 $_POST时,数据就不足。
一开始以为是php中的post_max_size, upload_max_size的问题, 但是设成100M也不管用。
后来又以为是Apache 中的limitpostdate的问题,设大了之后也不管用。
 
后来在客户端装wireShark抓包,发现tcp包中间出现 TCP WINDOWS FULL,于是又以为是浏览器在TCP第二次握手的时候,没有正确传输总package size。
直到最后, 在Apache的error.log中发现, 出了如下错误:
<span style="font-size:18px;">PHP Warning: Unknown: Input variables exceeded 1000</span> 
原来PHP中默认post中的参数的个数是1000,超过部分会被自动扔掉。

调整下这个数值,比如我们设置为2000:
在PHP.ini中设置
max_input_vars = 2000

您可能感兴趣的文章:
php大form用post方法传递数据丢包的问题
php curl post 时出现问题的解决方法
通过URL参数post传递的实现方式 PHP/Javascript
PHP URL传递中文乱码问题解决办法
PHP微信支付通知处理方式实现方法
php $_get,$_POST 获取值教程
php无法上传大于8M文件解决方法
PHP输入流 php://input与POST/GET的区别
php接收参数及获取post原数据的方法
php中curl实现GET和POST请求抓取网页或上传文件

关键词: checkbox  form  post   
[关闭]