WordPress の「このサイトのアップロードサイズ上限を超えています」の対処方法を説明します。メディアアップロードで失敗する原因の一つなので、WordPressを設置したら最初にこの設定もしておきましょう!
このサイトのアップロードサイズ上限を超えています。
WordPress の標準アップロードサイズの上限は、2MB までです。これは、PHP側の設定により、2MBまでと決められているからです。その設定を変更してあげることで、アップロードの上限を好きなだけ上げることが出来ます。
アップロードサイズの上限を上げる方法は2つ
「php.ini」 の設定を変える。
「.htaccess」 で設定をする。(初心者向け)
アップロードサイズの上限を上げるには、下記の3項目の値を変更します。
- upload_max_filesize = 2M
- アップロードされるファイルの最大サイズ
- post_max_size = 8M
- POSTデータに許可される最大サイズ
- memory_limit = 128M
- PHPプログラムが確保できる最大サイズ
※ アップロードサイズを、128MBギリギリに設定にする場合、「memory_limit」は128MBなので変更する必要がないように思えますが、memory_limit は、WordPressのプログラムを動かす為のメモリも含まれるので、「アップロードサイズ + α」として設定を変更してください。
アップロードサイズの上限を10MBにする例で説明します。
php.ini の値を変更してアップロードサイズを上げる
# vi/etc/php5/fpm/php.ini
を修正します。
※サーバーの環境によって、php.iniの場所が異なります。
// アップロードされるファイルの最大サイズ upload_max_filesize = 2M → upload_max_filesize = 10M // POSTデータに許可される最大サイズ post_max_size = 8M → post_max_size = 10M // PHPプログラムが確保できる最大サイズ memory_limit = 128M → 変更不要。
.htaccess でアップロードサイズを上げる(初心者向け)
.htaccess が使えない場合は、php.iniの値を変更してください。
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress // 下記の2行を追加します。 php_value upload_max_filesize 10M php_value post_max_size 10M
アップロードがタイムアウトする場合
アップロードのタイムアウト初期値は「30秒」です。アップロードサイズが大きい場合、下記の値を変更・追加すればタイムアウトの時間を延長できます。「0」を設定すると無制限になります。
// php.ini の場合(変更) max_execution_time = 30 max_input_time = 60 // .htaccess の場合(追加) php_value max_execution_time 30 php_value max_input_time 60
max_execution_time = 30
- スクリプトがパーサにより強制終了されるまでに許容される最大の時間
max_input_time = 60
- スクリプトが POST、GET などの入力を パースする最大の時間を、秒単位で指定します。 これは、サーバー側で PHP が起動してからスクリプトの実行を開始するまでの時間です。
これで、WordPress「このサイトのアップロードサイズ上限を超えています」の対応が出来たと思います。