php 表單提交長文章資料丟失問題解決方案

來源:互聯網
上載者:User

網上找了一堆,php.ini 的post_max_size和upload_max_filesize都設定了很大的值,沒用,nginx的client_max_body_size 500m;加到了那麼大的值,也沒用。
最後終於google到辦法:原來PHP從5.3.9開始增加一個變數 max_input_vars 用來限制提交的表單數量,實在無語。
後來查看php這一部分源碼看到這句代碼:

 代碼如下 複製代碼

if (++count > PG(max_input_vars)) {
                 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit change max_input_vars in     php.ini.", PG(max_input_vars));
                 return;
}

猛然間想起來,php5.3.10在解決hash衝突受攻擊時,增加了一個配置指令max_input_vars。php.ini中增加這個指令的值即可。

該值預設情況下是1000 , 不能滿足有1000個以上輸入項的需求,所以得在php.ini 裡面加上更大的值如:
max_input_vars = 5000

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.