php max_input_vars 导致提交数据丢失
2015-01-09 17:33
162 查看
一同事,让帮忙解决问题: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错误报告级别也可以看到有错误提示的。
绕了一大圈。
判断可能是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错误报告级别也可以看到有错误提示的。
绕了一大圈。
相关文章推荐
- php中max_input_vars默认值为1000导致多表单提交失败
- php中max_input_vars默认值为1000导致多表单提交失败
- Ajax提交数据太大,导致数据丢失
- oracle回滚误操作导致数据丢失且已提交的数据
- 表单提交数据量过大导致数据丢失的问题
- php中max_input_vars默认值为1000导致多表单提交失败
- php前端传过来的json数据丢失 (max_input_vars)
- Tomcat 关于表单提交数据量过大导致数据丢失的问题
- 前端提交数据对象属性以_开头导致的数据丢失问题
- ORACLE隐式提交导致的ORA-01086错误:SAVEPOINT“丢失”
- Oracle数据文件丢失导致数据库启动故障解决一例
- SPComm的一点小诀窍 spcomm的问题导致数据丢失
- android避免回复出厂设置导致数据丢失的办法
- oracle 中数据文件丢失 导致登录不了 如何恢复?
- AJAX POST数据中有特殊符号导致数据丢失的解决方法
- 关闭子页面刷新父页面时候,Firefox 必须发送将会导致重复之前动作的数据(例如搜索或者下订单)。 ie提示:若要再次显示该页面,web浏览器需要重新发送您以前提交的信息
- oracle中fdisk导致的ASM磁盘数据丢失的解决方法
- oracle中fdisk导致的ASM磁盘数据丢失的解决方法
- 数据库迁移时Excel列格式错误导致数据丢失的问题-Oracle-Datapump
- android避免回复出厂设置导致数据丢失的办法