WordPressのメモリ不足エラー|WP_MEMORY_LIMITとPHPのmemory_limit
WordPressで「Allowed memory size of … bytes exhausted」というエラーが出るのは、PHPが1回の処理で使えるメモリの上限(memory_limit)を超えたためです。WordPressは、起動する時に WP_MEMORY_LIMIT(標準で40MB)まで上限を引き上げようとし、管理画面などの重い処理では WP_MAX_MEMORY_LIMIT(標準で256MB)まで引き上げます。ただし、サーバー側が上限を固定していると、WordPressからは変えられません。
この記事では、WordPress 7.1.2 のソースコードとPHPマニュアルにもとづいて、メモリの上限が決まる仕組みと、直す順番をまとめます。
(確認:WordPress 7.1.2 のソースコード wp-includes/default-constants.php・wp-includes/functions.php、PHPマニュアル「php.ini ディレクティブ」。確認日:2026年10月6日)
3つの値の関係
| 名前 | 何か | 標準の値(ソースで確認) |
|---|---|---|
memory_limit |
PHPの設定。スクリプトが確保できる最大メモリ。-1 で無制限 |
PHPの標準は 128M(PHPマニュアル)。実際の値はサーバーで違う |
WP_MEMORY_LIMIT |
WordPressが通常の処理で使いたい上限 | 40M(マルチサイトは64M)。memory_limit を変えられない環境では、その値になる |
WP_MAX_MEMORY_LIMIT |
管理画面・画像処理・cronなど、重い処理で使う上限 | 256M(現在の memory_limit が256Mより大きい時は、その値) |
WordPressは、WP_MEMORY_LIMIT が現在の memory_limit より大きい時だけ、PHPの上限を引き上げます。小さくすることはありません。memory_limit が -1(無制限)の時は、何も変えません。また、memory_limit をサーバー側が固定している場合は、WordPressの設定を書いても変わりません。
直す順番
- どの処理で出るかを見る:管理画面だけか、画像のアップロードか、特定のプラグインか。エラーの文に、動いていたファイル名が出ます。プラグインの名前が出ていれば、そのプラグインを止めて確かめます
- 今の上限を調べる:「ツール」→「サイトヘルス」→「情報」→「サーバー」で、PHPのメモリ制限などを確認します(WordPressの動作環境)
- サーバーの管理画面でPHPの設定を変える:レンタルサーバーでは、
memory_limitを管理画面で変えられることが多いです。変えられる範囲は、契約で違います wp-config.phpに書く:define( 'WP_MEMORY_LIMIT', '256M' );のように書くと、WordPress側の希望の上限を上げられます。ただし、memory_limitが固定されている場合は、効きません- プラグインを見直す:メモリの使用量が多い処理を、まとめて動かさない。不要なプラグインを止める
wp-config.php を編集する前には、バックアップを取ってください(WordPressのバックアップ)。wp-config.php の基本はwp-config.phpの主な設定にまとめています。
メモリを大きくしても直らない時
- 同じエラーが何度も同じ場所で出るなら、プラグインやテーマの不具合で、無限にメモリを使っている可能性があります。上限を上げても直りません。止めて確かめます
- 画像のアップロードで出る場合は、画像の大きさ(ピクセル)が原因のことがあります。WordPressは、管理画面・画像処理・cronの3つの場面で、必要な時だけ、同じ最大上限まで引き上げようとします(ソースで確認)。サーバーが固定していれば、ここでも変わりません。なお、WordPress 7.1の紹介の文言には、画像の圧縮・リサイズ・サムネイル生成をブラウザー上で行うようになり、大きな画像でPHPのメモリ制限に達することが減る、と書かれています(日本語の翻訳ファイルで確認。実機での効果は未確認)
- サーバーが重くなる(共有サーバーの負荷)場合は、プランの見直しも考えます(Amazon Auto Posts 導入前に確認することに、これから借りるサーバーの確認事項を載せています)
まとめ
- メモリ不足のエラーは、PHPの
memory_limitを超えた時に出る - WordPressは、必要な時に
WP_MEMORY_LIMIT(40M)・WP_MAX_MEMORY_LIMIT(256M)まで上限を引き上げるが、サーバーが固定していると変えられない - まず、どの処理で出るかを見て、サーバーの設定→
wp-config.php→プラグインの見直しの順に確認する
本記事は設定を説明したものです。サーバーの設定の変更は、各社の案内に従ってください。


