コンテンツにスキップ

WordPress でファイルのアップロードサイズの上限を変更する方法

メインイメージ

WordPress でメディアファイルのアップロードサイズの上限を変更する方法を説明します。

確認時のバージョン

  • PHP 8.2.23
  • WordPress 6.6.2

まずは現状の値を確認する方法から見ていきましょう。

現状の値を確認する方法

メディアアップロードページで確認する

管理画面のサイドメニューの「メディア」→「新しいメディアファイルを追加」をクリックします。 「メディアのアップロード」ページが開くので、ページ内に記載されている「最大アップロードサイズ」を確認します。

WordPress ファイルアップロードの上限の変更: メディアアップロードページ

サイトヘルスページで確認する

管理画面のサイドメニューの「ツール」→「サイトヘルス」をクリックします。 「サイトヘルス」ページが開くので、上部の「情報」タブをクリックします。

WordPress ファイルアップロードの上限の変更: サイトヘルスページの「情報」タブ

WordPress ファイルアップロードの上限の変更: サイトヘルス「情報」ページ

続いて「メディア処理」のグループをクリックして開きます。

WordPress ファイルアップロードの上限の変更: サイトヘルス「メディア処理」

アップロードサイズの上限に関係があるのは以下 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_sizeupload_max_filesize のうち小さい値が WordPress におけるファイルのアップロードサイズの上限となります。 そのため、アップロードサイズの上限を変更したい場合はこれらの値を変更すれば OK です。

変更方法は大きく 2 つあります。

A. php.ini ファイルで設定する

php.ini:

post_max_size = 512M
upload_max_filesize = 512M

B. .htaccess ファイルで設定する

.htaccess:

php_value post_max_size 512M
php_value upload_max_filesize 512M

単位はバイトです。 末尾に K (キロ)、 M (メガ)、 G (ギガ)を使用できます。

サーバー環境によってこれら A / B の方法が使えたり使えなかったりするので、これらの設定が可能かどうかはホスティング会社の資料を見たり実際に試したりして確認してください。

レンタルサーバーのプランによっては、サーバーパネルから php.ini.htaccess を簡易的に編集できる機能が提供されていることもあります。

これらの他にも wp-config.phpini_set() 関数を使って変更する方法などもありますが、 ini_set() では値が変更できたように見えて変更できないこともよくあるので、 A か B の方法がおすすめです。

Note

ちなみに、 PHP の公式マニュアルには設定項目 memory_limitpost_max_size よりも大きな値をセットする必要があると書かれています。

Generally speaking, memory_limit should be larger than post_max_size.

しかし、手元の WordPress 環境で検証したかぎりでは、 post_max_sizeupload_max_filesizememory_limit よりも大きな値をセットして、 post_max_sizeupload_max_filesize に近いサイズのファイルアップロードしても問題なく動きました。

PHP のバージョンなどにもよるかもしれませんが、 memory_limit は WordPress が正常に動作する範囲にセットされていれば必ずしも post_max_size よりも大きな値をセットしなくても問題無いようです。

WordPress.org 関連ページ

PHP 公式ドキュメンテーション関連ページ

関連ページ