php max_input_vars 导致提交数据丢失

一同事,让帮忙解决问题:post了1020条数据,结果只显示250条。 

判断可能是php的post设置问题,结果发现php.ini里关于post的设置没有问题。

通过 php://input 得到请求参数是完整的,就是在装入$_POST全局变量时有问题。

本以为很简单解决的问题,找了一个小时的原因。后来查看php这一部分源码看到这句代码:

if (++count > PG(max_input_vars)) {

                 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit change max_input_vars in     php.ini.", PG(max_input_vars));

                 return;

             } 

猛然间想起来,php5.3.10在解决hash冲突受攻击时,增加了一个配置指令max_input_vars。php.ini中增加这个指令的值即可。

其实,调试时打开php错误报告级别也可以看到有错误提示的。

绕了一大圈。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。