php5.3.9中增加了一個 max_input_vars 變量,如果你post提交的數據超出來了 max_input_vars 值就會有部分數據丟失了。
最近在項目中,出現一個奇怪的現象,有一個大form裡面有上千個input,提交的時候,老是發現post過來的數據不完整,一開始還懷疑是html 表單名稱有沖突,排除掉了。
然後,網上找了一堆,php.ini 的post_max_size和upload_max_filesize都設置了很大的值,沒用,nginx的client_max_body_size 500m;加到了那麼大的值,也沒用。
最後終於google到辦法:
原來PHP從5.3.9開始增加一個變量 max_input_vars 用來限制提交的表單數量,實在無語。
該值默認情況下是1000 , 不能滿足有1000個以上輸入項的需求,所以得在php.ini 裡面加上更大的值如:
max_input_vars = 5000 ,修改後重啟php,終於一切正常!