php配置-解决大数据超过1000字段的POST方式提交无法完整接收或者被截取丢失的问题

,前端post提交 一大坨数据。

,前端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({});

发表评论

登录 后才能评论