How to solve the data loss problem when posting a large amount of data in php_PHP tutorial

WBOY
Release: 2016-07-13 09:49:17
Original
882 people have browsed it

How to solve the problem of data loss when php post a large amount of data

This article mainly introduces the solution to the problem of data loss when php post a large amount of data. The reason is that in the default configuration This problem is caused by too small data volume configuration. Just modify the configuration. Friends in need can refer to it

Solution:

Just increase max_input_vars in php.ini and change it to 5000

Reason investigation:

 from enctype="multipart/form-data"

PHP version 5.6.6

Problem: Some POST data cannot be received

Traced the source code and found that it was caused by the max_input_vars configuration in php;

The relevant function is rfc1867_post_handler. If the length is exceeded, safe_php_register_variable will not be called to register the variable

The relevant stack is as follows

The code is as follows:

 #0 rfc1867_post_handler (

 content_type_dup=0x7ff85307a5f8 "multipart/form-data; boundary=", '-' , "306141311912057",

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

 #1 0x00000000007a4bb0 in sapi_handle_post (arg=) 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 )

 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=, argv=)

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

Where rfc1867_post_handler is php_session_rfc1867_callback

End~

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1020285.htmlTechArticleSolution to the data loss problem found when php post a large amount of data This article mainly introduces how to find data when php post a large amount of data The solution to the loss problem is due to the amount of data in the default configuration...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template