php post大量數(shù)據(jù)時發(fā)現(xiàn)數(shù)據(jù)丟失問題解決方法
解決辦法:
在php.ini中將max_input_vars調(diào)大改為5000就可以了
原因追查:
from的enctype="multipart/form-data"
php版本5.6.6
問題:部分POST數(shù)據(jù)接收不到
追源代碼發(fā)現(xiàn)是php中max_input_vars配置造成的;
相關(guān)函數(shù)為rfc1867_post_handler,如果超過長度,則不會調(diào)用safe_php_register_variable來進(jìn)行變量注冊
相關(guān)堆棧如下
#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獲取POST數(shù)據(jù)的三種方法實(shí)例詳解
- PHP的CURL方法curl_setopt()函數(shù)案例介紹(抓取網(wǎng)頁,POST數(shù)據(jù))
- PHP利用超級全局變量$_POST來接收表單數(shù)據(jù)的實(shí)例
- PHP之將POST數(shù)據(jù)轉(zhuǎn)化為字符串的實(shí)現(xiàn)代碼
- PHP CURL post數(shù)據(jù)報(bào)錯 failed creating formpost data
- php使用CURL模擬GET與POST向微信接口提交及獲取數(shù)據(jù)的方法
- 功能強(qiáng)大的PHP POST提交數(shù)據(jù)類
- PHP模擬post提交數(shù)據(jù)方法匯總
- 利用PHP fsockopen 模擬POST/GET傳送數(shù)據(jù)的方法
- 淺談PHP接收POST數(shù)據(jù)方式
- php使用socket post數(shù)據(jù)到其它web服務(wù)器的方法
- PHP中使用socket方式GET、POST數(shù)據(jù)實(shí)例
- php程序內(nèi)部post數(shù)據(jù)的方法
- PHP Post獲取不到非表單數(shù)據(jù)的問題解決辦法
相關(guān)文章
gearman中任務(wù)的優(yōu)先級和返回狀態(tài)實(shí)例分析
這篇文章主要介紹了gearman中任務(wù)的優(yōu)先級和返回狀態(tài),結(jié)合實(shí)例形式分析了gearman任務(wù)的優(yōu)先級以及獲取返回狀態(tài)相關(guān)操作技巧,需要的朋友可以參考下2020-02-02PHP代碼加密和擴(kuò)展解密實(shí)戰(zhàn)
這篇文章主要介紹了PHP代碼加密和擴(kuò)展解密實(shí)戰(zhàn),對加密解密感興趣的同學(xué),可以參考下2021-04-04Fatal error: Allowed memory size of 134217728 bytes exhauste
這篇文章主要介紹了Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)錯誤的解決方法,需要的朋友可以參考下2014-11-11PHP中sleep()函數(shù)的實(shí)用場景以及注意事項(xiàng)
sleep()函數(shù)是PHP中的一個休眠函數(shù),可以讓程序在指定的時間內(nèi)暫停執(zhí)行,以達(dá)到延遲執(zhí)行的效果,本文介紹使用sleep()函數(shù)的實(shí)用場景以及注意事項(xiàng)2023-09-09