PHP max_input_var設爲了1000致使post數組太多時沒法接受後面的參數值

PHP max_input_var設爲了1000致使post數組太多時沒法接受後面的參數值php

 

下午忽然接到格力電話說沒法批量設置門店任務,可是在測試環境下沒法重現,測試環境下好好的。nginx

而後登錄到生產環境下,選擇了幾個保存也是正常的。可是當所有提交的時候就會不行了,num參數後臺接收不到編程

我分析了傳入的報文,是有這個參數的,可是後臺拿不到,這個就很詭異。在生產環境上打了斷點來調試,沒看出什麼狀況。數組

後面查看源代碼時留意到post過來的array只有999app

有沒有這麼巧呀,只有999家門店?去後臺看了一下,有兩千多家門店post

問題是定位到了,可是爲何post不了這麼多條數據呢?測試

先是把form的enctype默認是application/x-www-form-urlencoded。我覺得由於這個傳法只能傳1000之內的,因此改爲了multipar/form-data。問題沒有解決url

 

而後面向百度編程。查資料,發現php有個配置max_input_var是限制input數量的。我把這個改爲了1萬。提交,成功,哈,三個多小時就這麼過去了。spa

 

總結:調試

在php的配置文件裏有不少配置項。理解這些配置項有助於調優php。並能解決不少詭異的問題。

相近的配置還有:

max_execution_time = 600

max_input_time = 600

memory_limit = 32m

file_uploads = on

upload_tmp_dir = /tmp

upload_max_filesize = 32m

post_max_size = 32m

 

在nginx中相近的配置有:

keepalive_timeout  60;

send_timeout 3m;

client_max_body_size 500m;

 

nginx和php的配置要常常要關聯在一塊兒調

相關文章
相關標籤/搜索