0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

デプロイ後に画像がstoreできなくなった。[エラー : 413 Request Entity Too Large]

Last updated at Posted at 2022-04-09

概要

[413 Request Entity Too Large]エラーが出たので、備忘録として記録。

構成

構成 利用機能
物理サーバー AWS
仮想サーバー EC2
webサーバー Nginx

不具合内容

Laravelをデプロイ後に画像がstoreできなくなった。
ローカル環境では、問題なかったのでサーバー設定の問題だと判断しました。

詳しく確認すると、1M以上の画像がアップロードできない模様。

エラー原因

  • Nginxのリクエストボティサイズの設定項目は「client_max_body_size」であり、デフォルト値は「1m(1MB)」で1M以上のアップロードできない。

  • phpのデフォルト設定で2m(2MB)以上のアップロードできない。

解決法

  • Nginxとphpの設定を変更

nginx編集
etc/nginx/nginx.confを編集する。
10mbまでの画像を扱えるよう
「client_max_body_size」を「10m」で設定

etc/nginx/nginx.conf
server {
  listen 80;
  server_name example.com;
  root /var/www/html/example;
  index index.php index.html;
+  client_max_body_size 10m;
}

nginxの編集で「413 Request Entity Too Large」のエラーは解消しました。
しかし、まだ2M以上の画像がアップロードできませんでした。


php編集
etc/php.iniの編集

ターミナル
 # 一応、バックアップ保存
% sudo cp php.ini php.ini.default
 # vimで編集
% sudo vim etc/php.ini

10mbまでの画像を扱えるよう
「upload_max_filesize」を「10M」に変更

postデータ上限もuploadの10mに合わせておく。
「post_max_size」を「10M」に変更

etc/php.ini
- post_max_size = 8M
+ post_max_size = 10M

- upload_max_filesize = 2M
+ upload_max_filesize = 10M

変更を反映させるため、サービスの再起動

ターミナル
% sudo systemctl restart nginx.service
% sudo systemctl restart php-fpm.service

解決しました!

参考

チェックは3ヵ所! 413 Request Entity Too Largeが表示された時の対処法
[PHP] ファイルアップロードの上限サイズを変更する際にさわるディレクティブまとめ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?