2011-10-03 63 views
4

是否可以將POST請求限制爲大小?我有一個很大的過程,我想緩存輸出。基本上我想在緩存中存儲一​​個簡單的html表格,因爲特殊項目的增長,查詢的數量以及響應時間都失去了控制。一個PHP文章的最大大小?

現在我發送一個ajax調用,在另一個ajax調用中獲取的大輸出(在第一個完成後),但我只返回一小塊數據。我認爲我的ajaxfunction是正確的,因爲存儲的輸出總是相同的(以字符爲單位)。但我錯過了緩存中90%的輸出...

+0

有多大? ---- –

+0

它是可配置的。請參閱php.ini。 – John

+0

可能重複的[PHP的:什麼是一個後全局變量的總長度?](http://stackoverflow.com/questions/2276759/php-whats-the-total-length-of-a-post-global-variable ) –

回答

7

默認情況下,POST方法的最大大小爲8 Mb(可通過在php.ini文件中設置post_max_size來更改) 。

「難道是POST請求被限制爲大小嗎?」

是的,有一個PHP設置:post_max_size

+0

感謝您的回覆!我認爲這不會解決我的問題。我認爲這些輸出源只有幾KB,而不是多個MB的.... – Ben

2

尋找在你的php.ini這些設置

; Maximum size of POST data that PHP will accept. 
; http://php.net/post-max-size 
post_max_size = 8M 

; Maximum amount of memory a script may consume (128MB) 
; http://php.net/memory-limit 
memory_limit = 128M 

的post_max_size指定POST的最大尺寸,並且由於它具有被包含在內存中,內存限制必須更大。內存將不得不包含正在運行的程序和所有堆變量,包括POST。

如果您僅增加post_max_size超過或接近內存限制並忘記增加memory_limit,則在內存耗盡時POST大小將被限制爲較低的值。

在此示例中,您可以看到默認設置。

+0

感謝您的回覆,請參閱其他評論.. :) +!雖然 – Ben

2

我剛剛遇到了這個問題,發現自PHP 5.3.9以來有一個新的設置可用,它限制了post變量的總數(不僅僅是大小)。

max_input_vars = 1000 

如果您當時正在使用PHP的夜間或候選發佈版本,這可能與您遇到的問題相同。