環境
・CentOS 6.8
・nginx 1.10
・PHP 5.6
・Laravel 5.2
症状
Laravelで作ったシステム上で、単純にファイルアップロードしようとしたら怒られました。
413 Request Entity Too Large
はい、これはあれですね、nginx と php の設定が漏れてますねスミマセン…と思いましたが、なぜかちょっと手こずってしまいました。
原因
nginx と PHP の、ファイルアップロードサイズ上限が小さかったからです。
解決策
nginx と PHP のアップロード出来るファイルサイズの上限を大きくします。
server{
listen 80;
server_name your.domain;
..(省略)..
client_max_body_size 50M;
...
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/