phpの最大アップロードファイルサイズは「upload_max_filesize」だけではなく「post_max_size」も設定が必要。

掲載の通りなんだけどね。

ある口コミサイトを作っている時の話。

写真投稿機能と、動画投稿機能が必要だったわけ。で、どれくらいのファイルサイズまで許容するかってなってさ。デフォルトだと8Mが上限なので、動画だとかなりきついわけで、上限を上げないといけない。

ってことでphp.iniファイルの設定変更が必要なのね。まぁ.htaccessファイルでも設定できるらしけど。

それでネットで調べてたら「upload_max_filesize」という設定プロパティがあったので、これを変えたわけ。

それで本番稼働させてLaravelのエラーログを見てみたら以下のエラーがあったの。

「[2018-10-09 10:00:24] production.ERROR: The file "077.JPG" was only partially uploaded. {"exception":"[object] (Symfony\\Component\\HttpFoundation\\File\\Exception\\PartialFileException(code: 0): The file \"077.JPG\" was only partially uploaded. at /var/www/vh/www.hawaiihawaii.jp/htdocs/vendor/symfony/http-foundation/File/UploadedFile.php:228)」

なんでかなー、このユーザーは動画級に大きいサイズの画像をアップロードしようとしたのか?などと思ってApacheのエラーログを見たら以下だったの。

「[Sat Oct 06 22:59:04.800668 2018] [php7:warn] [pid 26321] [client xxx.xxx.xxx] PHP Warning: POST Content-Length of 24311602 bytes exceeds the limit of 8388608 bytes in Unknown on line 0, referer: https://xxx.jp/xxx/xxx

なに?「8388608 bytes」が上限だと・・?

ってことで、まぁ、掲載の通りなんだけどね。