Backup ファイルをアップロードしようとして 413 Request Entity Too Large のエラーが出る場合、対処方法は 2 つあります。
- FTP やファイルマネージャーから手動で Backup ファイルをアップロードする
- 投稿サイズの最大許容値を引き上げる
1 つ目はシンプルで、Backup ファイルを wp-content/uploads/wp-staging/backups フォルダにアップロードするだけです。
その後、WP STAGING > Backup & Restore に移動すると、アップロードされた Backup ファイルが一覧に表示され、復元プロセスに進めるようになります。
サーバー側でアップロードエラーを修正したい場合は、ウェブサーバーの設定を変更する必要があります。
413 Request Entity Too Large エラーは、クライアントから送信されたリクエストが大きすぎて、ウェブサーバーが処理できないときに発生します。ウェブサーバーが特定の HTTP リクエストサイズ制限を設定しており、ファイルサイズがその制限を超えると、このエラーが返されます。
どのディレクティブを設定する必要があるかは、利用しているウェブサーバーの種類によって異なります。とても大きなファイルのアップロードを制限したい場合でも、アップロードサイズの上限を引き上げたい場合でも、以下のセクションでその方法を説明します。
413 Request Entity Too Large エラーを修正する
Apache
Apache ウェブサーバーには LimitRequestBody というディレクティブがあります。この値で HTTP リクエストのサイズを制限できます。LimitRequestBody ディレクティブは、http.conf ファイルまたは .htaccess ファイルで定義できます。
Apache におけるこのディレクティブの既定値は 0 です。任意の値を設定できます。値はバイト単位で指定します。
たとえば、100 MB を超えるリクエストを制限したい場合は、次のように指定します。
LimitRequestBody 104857600
変更を加えたら、更新後の設定ファイルを保存し、次のコマンドで Apache を再読み込みします。
service apache2 reload.
Nginx
Nginx の場合、HTTP リクエストの最大許容サイズを指定するディレクティブは client_max_body_size です。
このディレクティブは、/etc/nginx/nginx.conf にある nginx.conf ファイルですでに定義されている可能性があります。
そこに存在しない場合は、http・server・location のいずれかのブロックに追加して値を定義できます。
server {
client_max_body_size 100M;
...
}
このディレクティブの既定値は 1M(1 メガバイト)です。リクエストサイズに制限を設けたくない場合は、値を 0 に設定できます。
変更を保存し、次のコマンドで Nginx を再読み込みします。
service nginx reload
PHP の追加設定
ウェブサーバー側のディレクティブを修正することに加えて、PHP ユーザーにはさらにいくつかの変更が必要です。まず、php.ini ファイルを開きます。これは通常、PHP のバージョンに応じて /etc/php5/fpm/php.ini のようなディレクトリに配置されています。
次に、以下の値を見つけて変更します。
upload_max_filesize
これは、アップロードできるファイルの最大許容サイズを定義します。既定値は 2 MB です。
post_max_size
これは、PHP が受け取る POST データの最大サイズを定義します。この設定はファイルアップロードにも影響し、既定値は 8 MB です。
希望する HTTP リクエストの許容サイズに値を更新したら、設定を保存し、次のコマンドで PHP-FPM を再起動します。
service php-fpm restart