- 実践 WordPress ホーム
- メディア管理
WordPress でファイルのアップロードサイズの上限を変更する方法
WordPress でメディアファイルのアップロードサイズの上限を変更する方法を説明します。
確認時のバージョン
- PHP
8.2.23
- WordPress
6.6.2
まずは現状の値を確認する方法から見ていきましょう。
現状の値を確認する方法
メディアアップロードページで確認する
管理画面のサイドメニューの「メディア」→「新しいメディアファイルを追加」をクリックします。 「メディアのアップロード」ページが開くので、ページ内に記載されている「最大アップロードサイズ」を確認します。
サイトヘルスページで確認する
管理画面のサイドメニューの「ツール」→「サイトヘルス」をクリックします。 「サイトヘルス」ページが開くので、上部の「情報」タブをクリックします。
続いて「メディア処理」のグループをクリックして開きます。
アップロードサイズの上限に関係があるのは以下 3 つの項目です。
項目 | PHP 設定 | 説明
--- | ---
post データの最大サイズ | post_max_size
| POST リクエストでクライアントが送信可能なデータの最大サイズ
アップロードファイルの最大サイズ | upload_max_filesize
| クライアントがアップロード可能な最大のファイルサイズ
有効な最大ファイルサイズ | - | 上の 2 つの値のうち小さい方
「有効な最大ファイルサイズ」は「 post データの最大サイズ」と「アップロードファイルの最大サイズ」の 2 つの値のうち小さい方の値になります。 これが実際に有効な最大ファイルのアップロードサイズの上限です。 この値はメディアアップロードページに表示される「最大アップロードサイズ」と同じになります。
例 1)
項目 | 説明 |
---|---|
post データの最大サイズ | 100M |
アップロードファイルの最大サイズ | 50M |
有効な最大ファイルサイズ | 50 MB |
例 2)
項目 | 説明 |
---|---|
post データの最大サイズ | 50M |
アップロードファイルの最大サイズ | 100M |
有効な最大ファイルサイズ | 50 MB |
ちなみに、これらの近くに表示されている「最大ファイル数」というのは一度にアップロード可能なファイルの数の上限を表しています。
ファイルのアップロードサイズの上限を変更する方法
上述のとおり post_max_size
と upload_max_filesize
のうち小さい値が WordPress におけるファイルのアップロードサイズの上限となります。
そのため、アップロードサイズの上限を変更したい場合はこれらの値を変更すれば OK です。
変更方法は大きく 2 つあります。
A. php.ini
ファイルで設定する
php.ini
:
B. .htaccess
ファイルで設定する
.htaccess
:
単位はバイトです。
末尾に K
(キロ)、 M
(メガ)、 G
(ギガ)を使用できます。
サーバー環境によってこれら A / B の方法が使えたり使えなかったりするので、これらの設定が可能かどうかはホスティング会社の資料を見たり実際に試したりして確認してください。
レンタルサーバーのプランによっては、サーバーパネルから php.ini
や .htaccess
を簡易的に編集できる機能が提供されていることもあります。
これらの他にも wp-config.php
で ini_set()
関数を使って変更する方法などもありますが、 ini_set()
では値が変更できたように見えて変更できないこともよくあるので、 A か B の方法がおすすめです。
Note
ちなみに、 PHP の公式マニュアルには設定項目 memory_limit
に post_max_size
よりも大きな値をセットする必要があると書かれています。
Generally speaking,
memory_limit
should be larger thanpost_max_size
.
しかし、手元の WordPress 環境で検証したかぎりでは、 post_max_size
と upload_max_filesize
に memory_limit
よりも大きな値をセットして、 post_max_size
と upload_max_filesize
に近いサイズのファイルアップロードしても問題なく動きました。
PHP のバージョンなどにもよるかもしれませんが、 memory_limit
は WordPress が正常に動作する範囲にセットされていれば必ずしも post_max_size
よりも大きな値をセットしなくても問題無いようです。
WordPress.org 関連ページ
wp_max_upload_size()
– Function | Developer.WordPress.orgWP_Debug_Data::debug_data()
– Method | Developer.WordPress.org
PHP 公式ドキュメンテーション関連ページ
post_max_size
| PHP: Description of core php.ini directives - Manualupload_max_filesize
| PHP: Description of core php.ini directives - Manual