,前端post提交 一大坨數據。后端使用php7.0接收但是 $_POST 里面接收的數據不完整經過一番查找最后發現是php環境的配置問題


例如:在盤點表的數據提交中出現了POST大量數據超多字段的將近2000個字段,部分字段沒有接收或者被截取;修改方法為修改php.ini

將max_input_var調大,該值默認為1000


max_input_vars = 5000


截圖


注意把前面的分號去掉


相近的配置還有:

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;

例如:修改上傳圖片的最大限制,避免entity too large的錯誤

首先,將php的upload_max_filesize 和 post_max_size 調大

再將nginx的 client_max_body_size 調大

或將apache的LimitRequestBody調大

//php配置
max_execution_time = 600        //設置頁面訪問超時時間為600s
max_input_time = 600          //設置GET和POST等接收數據的最大超時時間為600s
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 50m    //設置為50M
post_max_size = 50m            //設置為50M
//nginx配置
client_max_body_size 50M     //設置為50M
//apache配置
LimitRequestBody 50 * 1024 * 1000    //設置為50M

例如:Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes)
注意這個不是因為memory_limit參數的問題,即使memory_limit配置的最大也有可能出問題;關鍵在于代碼循環中unset變量;
(adsbygoogle = window.adsbygoogle || []).push({});