三个思路解决413 Request Entity Too Large报错处理

  最近一个项目当中,要求上传图片,而且限制图片大小,虽然在laravel当中已经添加了相关的表单验证来阻止文件过大的上传,然而当提交表单时,还没轮到laravel处理,nginx就先报错了。当你仔细看报错页面时,你会发现有nginx版本信息,通过分析,这报错是由于nginx的默认上传文件大小配置client_max_body_size只有2MB, 基于nginx验证比laravel验证要早,想要友好报错而不是直接显示413 Request Entity Too Large,那么就有三个思路去解决。php

   思路一:修改nginx配置

     这是最简单的一个作法,着报错缘由是nginx不容许上传配置过大的文件,那么件把nginx的上传大小配置调高就好。

    一、打开nginx主配置文件nginx.conf,通常在/usr/local/nginx/conf/nginx.conf这个位置,找到http{}段并修改如下内容:

client_max_body_size 2m;
    当中的2m修改为你须要的容许文件大小。
   二、修改后,测试nginx配置是否正确
/usr/local/nginx/sbin/nginx -t
  三、测试配置正确后,重启nginx使配置生效  
/etc/init.d/nginx restart
注意:要是以php运行的话,这个大小client_max_body_size要和php.ini中的以下值的最大值差很少或者稍大,这样就不会由于提交数据大小不一致出现错误。
  1. post_max_size = 2M
  2. upload_max_filesize = 2M

当中的2m修改为你须要的容许文件大小。把当中的2m修改为你第一步设置的大小。html

相关文章
相关标签/搜索