php post大量数据时发现数据丢失问题解决方法


Posted in PHP onJune 20, 2015

解决办法:

在php.ini中将max_input_vars调大改为5000就可以了

原因追查:

from的enctype="multipart/form-data"

php版本5.6.6

问题:部分POST数据接收不到

追源代码发现是php中max_input_vars配置造成的;

php post大量数据时发现数据丢失问题解决方法

相关函数为rfc1867_post_handler,如果超过长度,则不会调用safe_php_register_variable来进行变量注册

相关堆栈如下

#0  rfc1867_post_handler (

    content_type_dup=0x7ff85307a5f8 "multipart/form-data; boundary=", '-' <repeats 27 times>, "306141311912057", 

    arg=0x7ff85307ccc0) at /tmp/php-5.6.2/main/rfc1867.c:681

#1  0x00000000007a4bb0 in sapi_handle_post (arg=<value optimized out>) at /tmp/php-5.6.2/main/SAPI.c:185

#2  0x00000000007ab72f in php_default_treat_data (arg=0, str=0x0, destArray=0x7ff85307ccc0)

    at /tmp/php-5.6.2/main/php_variables.c:399

#3  0x0000000000615c91 in mbstr_treat_data (arg=0, str=0x0, destArray=0x0) at /tmp/php-5.6.2/ext/mbstring/mb_gpc.c:69

#4  0x00000000007aa9fb in php_auto_globals_create_post (name=0x7ff852f474f0 "_POST", name_len=5)

    at /tmp/php-5.6.2/main/php_variables.c:741

#5  0x00000000007d63bb in zend_auto_global_init (auto_global=0x196c950) at /tmp/php-5.6.2/Zend/zend_compile.c:6832

#6  0x0000000000808a43 in zend_hash_apply (ht=0x1955cb0, apply_func=0x7d63a0 <zend_auto_global_init>)

    at /tmp/php-5.6.2/Zend/zend_hash.c:641

#7  0x00000000007aaa4e in php_hash_environment () at /tmp/php-5.6.2/main/php_variables.c:702

#8  0x000000000079bb25 in php_request_startup () at /tmp/php-5.6.2/main/main.c:1671

#9  0x00000000008a756d in main (argc=<value optimized out>, argv=<value optimized out>)

    at /tmp/php-5.6.2/sapi/fpm/fpm/fpm_main.c:1887

其中rfc1867_post_handler为php_session_rfc1867_callback

完~

PHP 相关文章推荐
php面向对象全攻略 (十六) 对象的串行化
Sep 30 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
php实现的网络相册图片防盗链完美破解方法
Jul 01 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
老生常谈文本文件和二进制文件的区别
Feb 27 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 PHP
PHP获取当前系统时间的方法小结
Oct 03 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
php传值和传引用的区别点总结
Nov 19 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
Jun 20 #PHP
php简单统计字符串单词数量的方法
Jun 19 #PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 #PHP
php强制用户转向www域名的方法
Jun 19 #PHP
php自动更新版权信息显示的方法
Jun 19 #PHP
php中Snoopy类用法实例
Jun 19 #PHP
php计算整个目录大小的方法
Jun 19 #PHP
You might like
非常好的php目录导航文件代码
2006/10/09 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
ASP Json Parser修正版
2009/12/06 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Python求离散序列导数的示例
2019/07/10 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
Python双链表原理与实现方法详解
2020/02/22 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
韩国现代百货官网:Hmall
2018/03/21 全球购物
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
女方回门宴答谢词
2014/01/14 职场文书
安全环保标语
2014/06/09 职场文书
买卖合同协议书范本
2014/10/18 职场文书
高中生军训感言
2015/08/01 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书