php数组变量太大后台返回500,PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值...
PHP max_input_var設為了1000導致post數組太多時無法接受后面的參數值
下午突然接到格力電話說無法批量設置門店任務,但是在測試環境下無法重現,測試環境下好好的。
然后登陸到生產環境下,選擇了幾個保存也是正常的。但是當全部提交的時候就會不行了,num參數后臺接收不到
我分析了傳入的報文,是有這個參數的,但是后臺拿不到,這個就很詭異。在生產環境上打了斷點來調試,沒看出什么情況。
后面查看源代碼時留意到post過來的array只有999
有沒有這么巧呀,只有999家門店?去后臺看了一下,有兩千多家門店
問題是定位到了,但是為什么post不了這么多條數據呢?
先是把form的enctype默認是application/x-www-form-urlencoded。我以為因為這個傳法只能傳1000以內的,所以改成了multipar/form-data。問題沒有解決
然后面向百度編程。查資料,發現php有個配置max_input_var是限制input數量的。我把這個改成了1萬。提交,成功,哈,三個多小時就這么過去了。
總結:
在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_timeout60;
send_timeout 3m;
client_max_body_size 500m;
nginx和php的配置要經常要關聯在一起調
!--
p.p1>
總結
以上是生活随笔為你收集整理的php数组变量太大后台返回500,PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抖音怎么合拍的两个视频在一起
- 下一篇: 微服务理论之五:微服务架构 vs. SO