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中ADODB类详解
Mar 25 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
php采用ajax数据提交post与post常见方法总结
Nov 10 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 PHP
php 解决扫描二维码下载跳转问题
Jan 13 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
PHP实现的折半查询算法示例
Oct 09 PHP
PHP抽象类基本用法示例
Dec 28 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
thinkphp框架使用JWTtoken的方法详解
Oct 10 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调用三种数据库的方法(1)
2006/10/09 PHP
php 中的str_replace 函数总结
2007/04/27 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
jQuery实现的漂亮表单效果代码
2015/08/18 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
SVG实现时钟效果
2018/07/17 Javascript
vue实现移动端悬浮窗效果
2018/12/01 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
python创建列表并给列表赋初始值的方法
2015/07/28 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Django框架多表查询实例分析
2018/07/04 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
如何给Python代码进行加密
2020/01/10 Python
Pycharm github配置实现过程图解
2020/10/13 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
一道SQL存储过程面试题
2016/10/07 面试题
介绍一下EJB的体系结构
2012/08/01 面试题
J2EE包括哪些技术
2016/11/25 面试题
中餐厅经理岗位职责
2014/04/11 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
清明节寄语2015
2015/03/23 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
nginx+lua单机上万并发的实现
2021/05/31 Servers