LoginSignup
6
10

More than 5 years have passed since last update.

Laravelでファイルアップロードしようとしたら怒られた時の対処方

Posted at

環境

・CentOS 6.8
・nginx 1.10
・PHP 5.6
・Laravel 5.2

症状

Laravelで作ったシステム上で、単純にファイルアップロードしようとしたら怒られました。

413 Request Entity Too Large

はい、これはあれですね、nginx と php の設定が漏れてますねスミマセン…と思いましたが、なぜかちょっと手こずってしまいました。

原因

nginx と PHP の、ファイルアップロードサイズ上限が小さかったからです。

解決策

nginx と PHP のアップロード出来るファイルサイズの上限を大きくします。

/etc/nginx/default.conf
server{
    listen 80;
    server_name your.domain;
    ..(省略)..
    client_max_body_size 50M;
    ...
/etc/php.ini
memory_limit = 128M
post_max_size = 50M
upload_max_filesize = 50M

容量は適宜変更してください。
で、nginxをリスタートで行けるだろう!

# service nginx restart
Stopping nginx:         [  OK  ]
Starting nginx:         [  OK  ]

と思ったら、今度はこんなエラーが。

TokenMismatchException in VerifyCsrfToken.php line 46

あれ…?と思ってここで少し考えてしまいました。
TokenMismatch……??と思ったんですが、なんのことはない、php-fpm のリスタートを忘れてただけでした。

# service php-fpm restart
Stopping php-fpm:      [  OK  ]
Starting php-fpm:      [  OK  ]

だめだなぁ、まだ慣れてなくて…。
少し時間を無駄にしてしまいました。
nginx と php-fpm の再起動はセットでやりましょうという教訓です…。

参考

http://d.hatena.ne.jp/knowledgetree/20110217/1297939617
http://www.go-next.co.jp/blog/web/26477/

6
10
3

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
6
10