सवाल पोस्ट अनुरोध की आकार सीमा क्या है?


क्षमा करें अगर यह डुप्लिकेट है, तो मुझे लगता है कि यह होगा लेकिन कुछ भी नहीं मिला।

मेरे पास एक फ्लेक्स एप्लिकेशन है जो मैं आईई के माध्यम से डेटा को php / mysql सर्वर पर वापस पोस्ट कर रहा हूं। मैंने अभी तक किसी भी समस्या में भाग नहीं लिया है, लेकिन समय से पहले यह जानकर मुझे निराशा और काम का एक गुच्छा बचा सकता है। क्या http के माध्यम से डेटा पोस्ट करने की कोई सीमा सीमा है?

यह आलेख कहता है नहीं: http://www.netlobo.com/ie_form_submit.html

यह चर्चा हां कहती है: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method

और यह सब आगे और आगे जाता है जो मैं ऑनलाइन खोजने में सक्षम हूं। इसलिए कृप्या व्यक्तिगत रूप से परीक्षण / सत्यापित संख्याओं के उत्तर सीमित करें।

मैं एक एक्सएमएल स्ट्रिंग को वापस पोस्ट करना चाहता हूं जो काफी बड़ा हो सकता है (5 एमबी तक कहें)।

यदि इससे कोई फर्क पड़ता है: ब्राउजर हमेशा आईई (हमारे उत्पाद की आवश्यकता होती है), पोस्ट फ्लेक्स में और httpService से आ रहा है, वेब सर्वर php है, डीबी mySql है।


227
2018-03-02 16:37


मूल


stackoverflow.com/questions/2276759/... - karim79
धन्यवाद करीम, मुझे लगता है कि मेरे पास आने के लिए मेरे खोज शब्द सही नहीं थे। - invertedSpear


जवाब:


यह एक सर्वर विन्यास पर निर्भर करता है। यदि आप लिनक्स या इसी तरह के PHP के साथ काम कर रहे हैं, तो आप इसे .htaccess कॉन्फ़िगरेशन फ़ाइल का उपयोग करके नियंत्रित कर सकते हैं, जैसे:

#set max post size
php_value post_max_size 20M

और, हाँ, मैं व्यक्तिगत रूप से इस तथ्य को प्रमाणित कर सकता हूं कि यह काम करता है :)

यदि आप आईआईएस का उपयोग कर रहे हैं, तो मुझे कोई जानकारी नहीं है कि आप इस विशेष मूल्य को कैसे सेट करेंगे।


178
2018-03-02 16:41



यह कहां है post_max_size पर सेटिंग? मैं php के लिए नया हूं और मैं इसे हमारे कोड बेस में कहीं भी नहीं ढूंढ सकता (सपनेवेवर ढूंढने-सभी प्रक्रियाओं का उपयोग करके)। मैं अपने sys व्यवस्थापक पूछता हूं लेकिन उनका मतलब है। :-P - invertedSpear
तो क्या आप इस मूल्य को किसी भी आकार में सेट कर सकते हैं? क्या प्रोटोकॉल सीमा का कोई भी प्रकार नहीं है? क्या आप इसे 99 99 99 99 99 99 99 99 99 999 एम पर सेट कर सकते हैं? - Para
@ पैरा - ये पद कहता है कि आप इसे अपनी मशीन की स्मृति के रूप में उच्च सेट कर सकते हैं। यह भी कहता है कि डिफ़ॉल्ट 2 एमबी है। - RustyTheBoyRobot
चूंकि यह PHP है, इसलिए मैं आपकी मशीन की सीमा तक पहुंचने पर किसी भी मूल्य को स्वीकार करने की अपेक्षा करता था और बस SEGFAULT .... - RustyTheBoyRobot
साथ ही, पीएनपी.आईएनआई फ़ाइल में एक सेटिंग है: max_input_vars जो PHP के मेरे संस्करण में: 5.4.16 1000 तक डिफ़ॉल्ट है। मैन्युअल से: "कितने इनपुट चर स्वीकार किए जा सकते हैं (सीमा $ _GET, $ _POST पर लागू होती है और $ _COOKIE superglobal अलग से) "रेफरी .: php.net/manual/en/info.configuration.php#ini.max-input-vars - Nikolay Ivanov


अनुरोध (जीईटी और पोस्ट) दोनों का यूआरएल भाग ब्राउज़र और सर्वर दोनों द्वारा सीमित किया जा सकता है - आम तौर पर सुरक्षित आकार 2 केबी है क्योंकि लगभग कोई ब्राउज़र या सर्वर नहीं है जो छोटी सीमा का उपयोग करता है।

अनुरोध (पीओएसटी) का सामान्य रूप से * एक प्रकार के डीओएस हमले को रोकने के लिए सर्वर द्वारा बाइट आकार के आधार पर सीमित किया जाता है (ध्यान दें कि इसका मतलब है कि चरित्र से बचने से शरीर के बाइट आकार में वृद्धि हो सकती है)। सबसे आम सर्वर सेटिंग 10 एमबी है, हालांकि सभी लोकप्रिय सर्वर इसे सेटिंग फ़ाइल या पैनल के माध्यम से बढ़ा या घटा सकते हैं।

* कुछ अपवाद पुराने सेल फोन या अन्य छोटे डिवाइस ब्राउज़र के साथ मौजूद हैं - उन मामलों में यह डिवाइस पर इस उद्देश्य के लिए आरक्षित हीप स्पेस का एक और कार्य है।


67
2018-03-02 16:45



विचार करते हुए ब्राउज़र सीमाओं के बारे में कुछ बताएं curl - Yugal Jindle
मुझे पता है कि मैं यहां के समय के पीछे थोड़ा सा हूं लेकिन इस तरह के जवाब हैं जिन्हें मैं स्टैक ओवरफ्लो से प्यार करता हूं। क्या आवश्यक है और उससे परे कुछ मूल्यवान पृष्ठभूमि जानकारी प्रदान करता है। - Dormouse


साथ ही, PHP.INI फ़ाइल में एक सेटिंग है:

max_input_vars

जो PHP के मेरे संस्करण में: 5.4.16 डिफ़ॉल्ट पर 1000 है।

मैनुअल से: "कितने इनपुट चर स्वीकार किए जा सकते हैं (सीमा $ _GET, $ _POST और $ _COOKIE superglobal अलग से लागू होती है)"

रेफरी .: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars


38
2017-11-08 13:00





आप php.ini चर सेट करके बड़ी मात्रा में डेटा पोस्ट कर सकते हैं: max_input_vars इस चर का डिफ़ॉल्ट आकार 1000 है, लेकिन यदि आप बड़ी मात्रा में डेटा भेजना चाहते हैं तो आपको आकार के अनुसार आकार बढ़ाना होगा। यदि आप आकार को ini_set से सेट नहीं कर सकते हैं तो आपको इसे करना होगा htaccess या php.ini फ़ाइल में सीधे परिवर्तन करके।

max_input_vars  2500
memory_limit    256M

9
2018-03-10 13:18





जैसा कि डेविड ने बताया, मैं ज्यादातर मामलों में केबी के साथ जाऊंगा।

php_value post_max_size 2KB

नोट: मेरा फॉर्म सरल है, बस कुछ टेक्स्ट बॉक्स, लंबे टेक्स्ट नहीं।


5
2018-06-27 09:35





यह तय करने के लिए http सर्वर पर निर्भर है कि कोई सीमा है या नहीं। जिस उत्पाद पर मैं काम करता हूं वह व्यवस्थापक को सीमा को कॉन्फ़िगर करने की अनुमति देता है।


1
2018-03-02 16:42



साथ ही, पीएनपी.आईएनआई फ़ाइल में एक सेटिंग है: max_input_vars जो PHP के मेरे संस्करण में: 5.4.16 1000 तक डिफ़ॉल्ट है। मैन्युअल से: "कितने इनपुट चर स्वीकार किए जा सकते हैं (सीमा $ _GET, $ _POST पर लागू होती है और $ _COOKIE superglobal अलग से) "रेफरी .: [php.net/manual/en/info.configuration.php#ini.max-input-vars][1]     [1]: php.net/manual/en/info.configuration.php#ini.max-input-vars - Nikolay Ivanov


डिफ़ॉल्ट रूप से, पोस्ट अनुरोध का अधिकतम आकार 8 एमबी है। लेकिन आप इसे अपनी आवश्यकताओं के अनुसार संशोधित कर सकते हैं। संशोधन php.ini फ़ाइल (PHP कॉन्फ़िगरेशन सेटिंग) खोलकर किया जा सकता है।

खोज

post_max_size=8M  //for me, that was on line:771

अपनी आवश्यकताओं के अनुसार 8 को प्रतिस्थापित करें।


1
2017-11-16 04:04





इसके लिए सबसे अच्छे समाधानों में से एक, आप 1000 से अधिक इनपुट फ़ील्ड्स का उपयोग नहीं करते हैं। आप पूर्व के लिए किसी भी विशेष चरित्र के साथ कई इनपुट को जोड़ सकते हैं। @

यह देखो:

<input type='text' name='hs1' id='hs1'>
<input type='text' name='hs2' id='hs2'>
<input type='text' name='hs3' id='hs3'>
<input type='text' name='hs4' id='hs4'>
<input type='text' name='hs5' id='hs5'>

<input type='hidden' name='hd' id='hd'>

किसी भी स्क्रिप्ट (जावास्क्रिप्ट या जेस्क्रिप्ट) का उपयोग करना,

document.getElementById("hd").value = document.getElementById("hs1").value+"@"+document.getElementById("hs2").value+"@"+document.getElementById("hs3").value+"@"+document.getElementById("hs4").value+"@"+document.getElementById("hs5").value

इसके साथ, आप बाईपास करेंगे max_input_vars मुद्दा। यदि आप बढ़ते हैं max_input_vars php.ini फ़ाइल में, यह सर्वर के लिए हानिकारक है क्योंकि यह अधिक सर्वर कैश मेमोरी का उपयोग करता है, और यह कभी-कभी सर्वर को क्रैश कर सकता है।


-1
2018-01-18 11:39



मैं नहीं देखता कि कैसे समेकित चर स्मृति को बचाता है। प्रत्येक ASCII-Character स्मृति के 1 बाइट का उपयोग करता है। एक स्ट्रिंग (तकनीकी रूप से एक चार सरणी अगर मुझे गलत नहीं है) एन * 1 बाइट्स को एन के साथ स्ट्रिंग लम्बाई के रूप में उपयोग करता है। एक और चरित्र जोड़ने से स्मृति का उपयोग क्यों कम हो जाएगा? इस गणना में आप स्ट्रिंग में जोड़े गए प्रत्येक '@' के लिए एक और बाइट जोड़ देंगे। बेशक आप इस्तेमाल किए गए चर की गिनती को कम करते हैं लेकिन आप इसे फिर से विभाजित करने के अतिरिक्त काम के साथ "जीत" का भुगतान करते हैं। - DBX12
@ डीबीएक्स 12 जबकि आप इस चाल के साथ स्मृति को सहेजते नहीं हैं, तो आप इसे बाईपास कर सकते हैं max_input_vars में विकल्प php.ini इसके साथ। बिल्कुल नहीं, क्या पूछा गया था, लेकिन अभी भी उपयोगी है। - RicoBrassers