[Php] 什麼是發布請求的大小限制?


Answers

這取決於服務器配置。 如果您在Linux或類似環境下使用PHP,則可以使用.htaccess配置文件來控制它,如下所示:

#set max post size
php_value post_max_size 20M

而且,是的,我可以親自證明這個事實:)

如果你使用IIS,我不知道你如何設置這個特定的值。

Question

對不起,如果這是重複的,我會認為這將是但無法找到任何東西。

我有一個靈活的應用程序,我通過IE發布數據到php / mysql服務器。 我還沒有遇到任何問題,但提前知道這可能會為我節省一些挫折和工作。 是否有通過http發布數據的大小限制?

本文說不: http://www.netlobo.com/ie_form_submit.htmlhttp://www.netlobo.com/ie_form_submit.html

這個討論說是: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method : http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method

這一切都來回我能夠在網上找到。 因此, 請將答案限制在個人測試/驗證號碼。

我想回發一個可能非常大的XML字符串(比如高達5mb)。

如果它有什麼區別:瀏覽器將永遠是IE瀏覽器(我們的產品需要它),帖子來自和httpService in flex,web服務器是php,DB是mySql。




默認情況下,發布請求的最大尺寸為8mb。 但是你可以根據你的要求修改它。 修改可以通過打開php.ini文件(php配置設置)來完成。

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

根據您的要求更換8個。







請求(GET和POST)的URL部分可能受瀏覽器和服務器的限制 - 通常安全大小為2KB,因為幾乎沒有瀏覽器或服務器使用較小的限制。

請求(POST)主體通常由服務器以字節為單位進行限制,以防止某種類型的DoS攻擊(請注意,這意味著字符轉義會增加主體的字節大小)。 最常見的服務器設置為10MB,儘管所有流行的服務器都允許通過設置文件或面板來增加或減少此設置。

*舊手機或其他小型設備瀏覽器存在一些例外情況 - 在這些情況下,它更多地是為設備上的此目的而預留的堆空間功能,然後是其他任何功能。




由http服務器決定是否有限制。 我工作的產品允許​​管理員配置限制。




您可以通過設置php.ini變量發布大量數據: max_input_vars此變量的默認大小為1000,但如果要發送大量數據,則必須相應地增加大小。 如果你不能從ini_set設置大小,你必須通過htaccess或者直接修改php.ini文件。

max_input_vars  2500
memory_limit    256M



正如大衛指出的那樣,我會在大多數情況下使用KB。

php_value post_max_size 2KB

注意:我的表單很簡單,只有幾個文本框,文字不長。




這是最好的解決方案之一,您不要使用多個或多個輸入字段。 您可以連接多個輸入和任何特殊字符,例如。 @

看到這個:

<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'>

使用任何腳本(JavaScript或JScript),

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問題。 如果你增加php.ini文件中的max_input_vars ,那對服務器是有害的,因為它使用更多的服務器緩存,並且這有時會使服務器崩潰。