2013-11-01 66 views
1

我使用的是jQuery.post,其中一個字段是一個大字符串。它可能是2MB的文本。

jQuery.post請求可以通過,但是這個字段在PHP的$_POST數組中不存在。 所有其他發佈的領域都很好。這是肯定被髮送,並且實際上在file_get_contents("php://input")

如果我減小大字符串的大小,它會再次出現在$_POST數據中。

如何刪除此字段大小限制,以便PHP將大字段推入$_POST

編輯:我將post_max_size更改爲100M,它沒有改變任何東西。

+0

也就是說〜1048576個字符! (2字節字符)。這聽起來像一個服務器設置問題。你的崗位價值到底了嗎? –

+0

默認'post_max_size'是8MB,所以它可能與PHP的配置沒有關係... –

回答

3

嘗試 Increasing the maximum post size 或檢查服務器haven`t有任何額外的restricion機制像 http://www.hardened-php.net/suhosin/

檢查您的phpinfo()和尋找任何貼子相關限制

+0

我認爲你是對的'suhosin'的東西。我有'suhosin.post.max_value_length \t 1000000'小於1MB。雖然我通過htaccess改變它有困難。 –

+0

從我記憶中的「經驗」與'suhosin'這個變量不能被'.htaccess'覆蓋。也許這將有助於http://stackoverflow.com/questions/12718609/how-to-override-suhosin-max-value – adam187

+0

大聲笑,這是一個黑客和非常糟糕的表現。我無法相信答案被接受......我發現有一個'suhosin.ini',我改變了這一點,這一切都很好。 –

2

這是一個服務器配置。如果你正在使用PHP Linux或similiar下工作,你可以使用.htaccess文件,像這樣控制這些:

#set max post size 
php_value post_max_size 20M 

What is the size limit of a post request?