How does php solve the problem of loss when posting large amounts of data? This article mainly introduces the solution to the problem of data loss when PHP posts a large amount of data. The reason is that the data volume configuration in the default configuration is too small. Just modify the configuration. I hope to be helpful.
Solution:
Just increase max_input_vars in php.ini and change it to 5000
Cause investigation:
enctype="multipart/form-data"
php version 5.6.6
Problem: Some POST data cannot be received
Follow up The source code was found to be 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
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 0x00000000007a4bb0 in sapi_handle_post (arg=<value optimized out>) at /tmp/php-5.6.2/main/SAPI.c:185 0x00000000007ab72f in php_default_treat_data (arg=0, str=0x0, destArray=0x7ff85307ccc0) at /tmp/php-5.6.2/main/php_variables.c:399 0x0000000000615c91 in mbstr_treat_data (arg=0, str=0x0, destArray=0x0) at /tmp/php-5.6.2/ext/mbstring/mb_gpc.c:69 0x00000000007aa9fb in php_auto_globals_create_post (name=0x7ff852f474f0 "_POST", name_len=5) at /tmp/php-5.6.2/main/php_variables.c:741 0x00000000007d63bb in zend_auto_global_init (auto_global=0x196c950) at /tmp/php-5.6.2/Zend/zend_compile.c:6832 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 0x00000000007aaa4e in php_hash_environment () at /tmp/php-5.6.2/main/php_variables.c:702 0x000000000079bb25 in php_request_startup () at /tmp/php-5.6.2/main/main.c:1671 0x00000000008a756d in main (argc=<value optimized out>, argv=<value optimized out>) at /tmp/php-5.6.2/sapi/fpm/fpm/fpm_main.c:1887
where rfc1867_post_handler is php_session_rfc1867_callback
Related recommendations:
##php post traversal related issues
The above is the detailed content of PHP solves the problem of loss when posting large amounts of data. For more information, please follow other related articles on the PHP Chinese website!