WordPress のメモリ上限を増やす。「Allowed Memory Size Exhausted」エラーを修正する

PHP の致命的エラー「Allowed memory size of X bytes exhausted」は、WordPress が PHP のプロセスごとのメモリ上限に達したことを意味します。上限を引き上げて修正しましょう。共有ホスティングでは wp-config.phpdefine('WP_MEMORY_LIMIT', '256M'); を追加し、VPS や専用サーバーでは php.inimemory_limit = 256M を設定します。エラーに表示される具体的なバイト数は、修正方法を変えるものではありません。

どの修正を最初に試すべきか?

ホスティングの種類 最も手早い修正 追加する場所
共有ホスティング (cPanel) define('WP_MEMORY_LIMIT', '256M'); wp-config.php
VPS / 専用サーバー memory_limit = 256M php.ini
マネージド WordPress (Kinsta、WP Engine) ホストに問い合わせ — php.ini にアクセス不可 サポートチケット
ローカル (Local、DevKinsta) サイトの設定フォルダ内の php.ini を編集 アプリの設定

If you get a high memory consumption and memory exhaust error while created a backup with WP STAGING, please read this article.

この WP メモリ上限エラーは、あなたがサイトにアクセスして重要な作業を完了するのを妨げる可能性があります。この記事では、表示されるバイト値が何であれ、WordPress のメモリ上限を増やしてメモリ枯渇エラーを修正する方法を説明します。

「Allowed Memory Size of X Bytes Exhausted」エラーの原因は?

WordPress のメモリ上限エラー「Allowed memory size of 268435456 bytes exhausted」は、WordPress サイトが PHP の許容量を超えるメモリを消費したときに発生します。WordPress を動かす言語である PHP は、各プロセスに固定のメモリ予算を割り当てます。サイトがそれを超えると、PHP はプロセスを停止してエラーを発生させます。

メモリ消費が高くなる要因はいくつかあります。

  1. 大きな画像ファイル: 大きく最適化されていない画像は、かなりのメモリを占有します。
  2. プラグインやテーマの競合: 一部のプラグインやテーマは互いに、または WordPress と競合し、メモリリークと高負荷を引き起こします。
  3. キャッシュの問題: 正しく設定されていないキャッシュプラグインは、メモリ使用量を急増させることがあります。
  4. トラフィックの急増: トラフィックの突然の急増は、メモリ使用量を上限を超えて押し上げることがあります。

バイト値は現在の上限を示しているだけ

エラー内の数値は、現在の上限をバイト単位で示したものです。サイトごとに異なりますが、修正方法は同じで、上限を引き上げます。よくある値は次のとおりです。

エラー内のバイト数 現在の上限 推奨する新しい上限
67108864 64 MB 256M
134217728 128 MB 256M
268435456 256 MB 512M
536870912 512 MB 512M 以上 (原因を調査)

「Allowed Memory Size of X Bytes Exhausted」エラーの修正方法

次の手順を順に進めてください。ほとんどのサイトでは、wp-config.php で上限を引き上げれば十分です。

wp-config.php で PHP のメモリ上限を増やす

PHP のメモリ上限を増やすのが最も簡単な修正です。次のコードを wp-config.php ファイルに追加します。

define('WP_MEMORY_LIMIT', '256M');

これでメモリ上限が 256 メガバイトに設定されます。サイトのニーズに合わせて数値を調整し、メモリ枯渇エラーが止まるまで引き上げてください。

WP_MEMORY_LIMIT 定数は、必ずこの行のに追加してください。

/* That's all, stop editing! Happy blogging. */
 /** Absolute path to the WordPress directory. */
 if ( !defined('ABSPATH') )
 define('ABSPATH', dirname(__FILE__) . '/');
 /** Sets up WordPress vars and included files. */
 require_once(ABSPATH . 'wp-settings.php');
Attention: If you add the WP_MEMORY_LIMIT value at the end of the wp-config.php and not before this block, the modification will not have any effect!

画像を最適化する

メモリ使用量を減らすには、画像を Web 向けに最適化します。Smush や EWWW Image Optimizer などの画像最適化プラグインは、目に見える品質の低下なしに画像を圧縮します。

プラグインとテーマを無効化する

プラグインやテーマが高いメモリ使用量を引き起こしていると疑う場合は、原因を特定するために 1 つずつ無効化してください。

ホスティングプランをアップグレードする

サイトが頻繁にトラフィックの急増を経験する場合、プランが十分なメモリの余裕を提供していない可能性があります。アップグレードすれば PHP が動作する余地が増えます。

これらのいずれでもエラーが解決しない場合は、以下の手順に従ってサーバーレベルで上限を設定してください。

サーバーレベルで上限を確認して引き上げる方法

まず、PHP が現在どれだけのメモリを割り当てているか確認します。WP Staging > Tools > System Info に移動します。

Fix memory exhausted error by checking the WordPress Memory Limit Settings.

ここには少なくとも 128M、理想的には 256M 以上と表示されているはずです。

より正確な代替手段は、空のファイルを作成して次のコードを追加することです。

<?php echo phpinfo();
  • ファイルを info.php として保存し、FTP やファイルマネージャープラグインでサイトのルートにアップロードします。
  • https://yoursite.com/info.php を開き、memory_limit の行を見つけます。
WordPress Memory Limit php settings

この行は、あなたのサイトが使用している正確なメモリ上限をメガバイト単位で示します。中規模の WordPress サイトでは、少なくとも 128M、できれば 256M と表示されているはずです。

上限がそれより低い場合は、php.ini を編集して引き上げます。php.ini を開き、memory_limit の行を見つけて、値を次のように変更します。

memory_limit = 256M

php.ini の場所がわからない場合は、ホスティングプロバイダーに尋ねてください。

php.ini にアクセスできない場合は、.htaccess ファイルを編集して次のコードを追加してみてください。

php_value memory_limit 256M

info.php または WP Staging の System Info ログを再度開き、メモリ上限が増えたか確認します。phpinfo() が正しい上限を表示したら、サイトを再読み込みしてください。「Allowed memory size exhausted」エラーは解消されているはずです。自分で上限を引き上げられない場合は、ホスティングプロバイダーに依頼してください。

上限を増やした後もサイトが上限に達するのはなぜか?

WP STAGING のサポートチケットでは、これが最も多い後続の質問です。上限を引き上げた後もエラーが続く場合、通常は次のいずれかが原因です。

  • 間違った php.ini を編集した。 サーバーは複数の php.ini を読み込むことがあります。phpinfo() の出力にある「Loaded Configuration File」の行を確認してどのファイルがアクティブかを把握し、そのファイルを編集してください。
  • プラグインやテーマが実行時に上限をリセットしている。 ini_set('memory_limit', …) を介して行われ、その値は WordPress の読み込み後にあなたの設定を上書きします。プラグインを無効化して、上限を下げているものを見つけてください。
  • ホストが無視する場所に値を設定した。 サイトレベルの .htaccess 設定は、サーバーレベルの php.ini のみを尊重するサーバーでは静かに失敗します。共有 cPanel ホストでこれをテストしたところ、.htaccess の方法は効果がなくエラーも出ませんでした。どの方法が実際に適用されたかは phpinfo() で確認してください。
  • wp-config.php はサーバーのハードな上限を超えられない。 WP_MEMORY_LIMIT は、PHP が課す上限までしか WordPress の上限を引き上げません。サーバーが PHP を 128M に制限している場合、wp-config.php の 256M という値は役に立ちません。サーバーの上限を引き上げるか、ホストに依頼してください。

まとめ

「Allowed memory size of X bytes exhausted」エラーは厄介ですが、よくあるもので修正可能です。ホスティングに応じて wp-config.phpphp.ini、または .htaccess で PHP のメモリ上限を引き上げ、画像を最適化し、競合するプラグインやテーマを無効化し、新しい上限が実際に有効になったことを phpinfo() で確認してください。

関連記事

Updated on 6月 10, 2026

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。