##はじめに
Wordpressで設定値以上のサイズのファイルをアップしたいと連絡をいただいたので設定を行いました。
その際に若干つまづいたところを備忘録も兼ねて簡単にまとめます。
とりあえずアップロードだけ行うのであればFTPやその他の手段でサーバーにアップすることもできるのですが、今回は設定を変更してほしいとのことでした。
環境は以下の通りです。
wordpress 5.2.2
php 7.3
nginx-1.15.8
##変更箇所
###php.ini
細部は公式に詳しくあります
php.ini ディレクティブに関する説明
まずはphp.iniの設定を変更していきます。
ファイルアップロードの許容サイズの変更を行います。
デフォルトから変更はしていなかったの、今回5Mとしています。
デフォルトは2M。
upload_max_filesize = 5M
次にPOSTリクエストの許容サイズの変更をしました。
upload_max_filesizeの変更だけでなく、忘れずにこちらも変更します。
デフォルトでは8Mになっています。
post_max_size = 10M
ここまで設定したところでWordpressの管理画面を確認したところ
アップロード画面の最大アップロードサイズ
が5Mになっています。
試しにファイルアップロードをしてみたところ
HTTPエラー
さて困った、、と思い色々と試してみました。
##413 Request Entity Too Large Error
管理画面でアップロードする時に使用していたドラッグアンドドロップの
マルチファイルアップローダー
からブラウザーアップローダー
に切り替えて同じファイル(2.3M)をアップしたところ
__413 Request Entity Too Large Error__と表示されました。
これでググったところnginxの設定について書かれていたのでとりあえず試してみました。
###nginx.conf
公式はこちらです
Module ngx_http_core_module
client_max_body_size
nginxの受け付けることができる最大サイズを変更しました。
デフォルトでは1Mに設定されているのでここでは8Mにしました。
client_max_body_size 8M;
nginxをリスタートして再度アップロードを試したところ問題なくできました!
##おわりに
ググっている時に関連する内容の記事をたくさん見つけましたが、その中には上記のnginxの設定を変えても無視されたというものがありました。
OSやnginxのバージョンによって対処法が変わると思いますので注意が必要だと思います。