三個思路解決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

相關文章
相關標籤/搜索