WordPressの最大アップロードサイズ|upload_max_filesizeとpost_max_size

WordPressで画像などをアップロードできる最大サイズは、PHPの upload_max_filesize と post_max_size のうち、小さい方で決まります。WordPress本体は、この2つの小さい方を、画面に「最大アップロードサイズ」として出しています。

この記事では、WordPress 7.1.2 のソースコードとPHPマニュアルにもとづいて、上限の決まり方、確認する場所、上げる時の注意をまとめます。

(確認:WordPress 7.1.2 のソースコード wp-includes/media.php、PHPマニュアル「php.ini ディレクティブ」、日本語の翻訳ファイル。確認日:2026年10月6日)

上限の決まり方

WordPressの関数 wp_max_upload_size() は、upload_max_filesize と post_max_size を読み、小さい方を上限にします(ソースで確認)。

PHPの設定 意味(PHPマニュアル) PHPの標準値
upload_max_filesize アップロードできる1ファイルの最大サイズ 2M
post_max_size POSTデータ全体の最大サイズ。ファイルのアップロードにも影響する。upload_max_filesize より大きく設定する必要がある 8M
memory_limit スクリプトが確保できる最大メモリ。一般に post_max_size より大きくする 128M

標準値はPHPの値で、実際の値はサーバーによって違います。PHPマニュアルには、POSTデータが post_max_size を超えると、$_POST と $_FILES が空になるとも書かれています。ファイルが大きすぎる時に、エラーも出ないまま保存できないのは、これが原因のことがあります。

今の上限を確かめる

  • 「メディア」→「メディアファイルを追加」を開くと、「最大アップロードサイズ: ○○ MB。」と表示されます(日本語の翻訳)
  • 「ツール」→「サイトヘルス」→「情報」の「メディア処理」に、「アップロードファイルの最大サイズ」と「post データの最大サイズ」が表示されます(日本語の翻訳)

上げる方法

  1. サーバーの管理画面:レンタルサーバーには、PHPの設定(upload_max_filesize・post_max_size)を管理画面から変えられるものがあります。変えられる範囲は契約で違います
  2. php.ini や .user.ini:サーバーによっては、このファイルで設定できます。書き方と置き場所は、サーバー会社の案内に従います
  3. .htaccess:Apacheの一部の環境で使える方法ですが、サーバーの種類によっては、設定すると表示エラー(500エラー)になります。先にバックアップを取ります(WordPressのバックアップ)

どれを使うかは、サーバーによって変わります。変更の後は、「メディアファイルを追加」の表示で、上限が変わったかを確認します。上げても変わらない場合は、サーバー側で上限が固定されている可能性があります。

上げる時の注意

  • post_max_size は、upload_max_filesize より大きくする(同じ値だと、ファイル以外のデータの分が足りなくなります)
  • サイズを上げすぎると、処理の時間やメモリが足りなくなる原因になります。画像は、アップロードの前に、サイズを小さくする方法もあります
  • 大きなファイルでは、PHPの実行時間の上限(max_execution_time)や、サーバー(Webサーバー)の別の上限で止まることがあります(一般的な話)
  • メモリ不足のエラーが出る場合はWordPressのメモリ不足エラーを確認します

WordPress 7.1の画像処理について

WordPress 7.1の紹介の文言には、画像の圧縮・リサイズ・サムネイルの生成をブラウザー上で行うようになり、大きな画像のアップロードで、PHPのメモリ制限に達する場面が減る、と書かれています(日本語の翻訳ファイルで確認)。ただし、アップロードできるファイルの上限の決め方(上の2つの小さい方)は、ソースコードで確認したとおりです。実際の動きは、ブラウザーやファイルの種類で変わる可能性があり、この記事では実機での確認はしていません(未確認)。

サーバーを選ぶ時の確認

これから借りるサーバーでは、PHPの設定を管理画面から変えられるか、変えられる上限はいくつかを、契約の前に確認すると安心です(WordPressの動作環境、Amazon Auto Posts 導入前に確認すること)。

まとめ

  • 最大アップロードサイズは、upload_max_filesize と post_max_size の小さい方(標準は2Mと8M)
  • 「メディア」→「メディアファイルを追加」で、今の上限を確認できる
  • サーバーの管理画面などで上げる。post_max_size は upload_max_filesize より大きくする

本記事は設定の説明です。サーバーの設定の変更は、各社の案内に従ってください。