Heim  >  Artikel  >  Backend-Entwicklung  >  PHP löst das Problem des Verlusts beim Posten großer Datenmengen

PHP löst das Problem des Verlusts beim Posten großer Datenmengen

*文
*文Original
2017-12-27 10:53:113109Durchsuche

Wie löst PHP das Problem des Verlusts beim Posten großer Datenmengen? In diesem Artikel wird hauptsächlich die Lösung für das Problem des Datenverlusts vorgestellt, wenn PHP eine große Datenmenge sendet. Der Grund dafür ist, dass die Datenvolumenkonfiguration in der Standardkonfiguration zu klein ist. Ich hoffe, es hilft allen.

Lösung:

Erhöhen Sie einfach max_input_vars in php.ini und ändern Sie es auf 5000

Ursachenverfolgung:

enctype="multipart/form-data" von Der Quellcode wurde durch die max_input_vars-Konfiguration in PHP verursacht;

Die relevante Funktion ist rfc1867_post_handler Wenn die Länge überschritten wird, wird „safe_php_register_variable“ nicht für die Variablenregistrierung aufgerufen.

Der relevante Stapel sieht wie folgt aus:

Problem beim Empfang von PHP-Posts.

    rfc1867_post_handler (
    content_type_dup=0x7ff85307a5f8 "multipart/form-data; boundary=", &#39;-&#39; <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

PHP-Post-Get

PHP-Post-Traversal-bezogene Probleme

Das obige ist der detaillierte Inhalt vonPHP löst das Problem des Verlusts beim Posten großer Datenmengen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn