修正:WordPressメモリ枯渇エラー – PHPメモリを増やす

特に共有ホスティングで WordPress ユーザーが遭遇する最も一般的なエラーの 1 つは、メモリ枯渇エラーです。

「Allowed memory size exhausted」のような技術的なメッセージが表示されることもあります。あるいは、WordPressは単に一般的な「このウェブサイトで重大なエラーが発生しました」という画面を表示するだけです。

これは通常、サイトがサーバーで現在許可されているよりも多くのPHPメモリを必要としていることを意味します。リソースを大量に消費するプラグインをインストールしたり、大きなメディアファイルをアップロードしたり、ホスティングプランを超えたりすると発生する可能性があります。

このガイドでは、WordPressでPHPメモリ制限を安全に増やしてエラーを修正する方法を説明します。また、再発を防ぐためのベストプラクティスも共有します。

WordPressでPHPメモリ制限を増やすことによるメモリ枯渇エラーの修正

WordPressのメモリ枯渇エラーとは何ですか?

WordPressでメモリ枯渇エラーが発生するのは、通常、ウェブサイトがサーバーで許可されている以上のPHPメモリを使用しようとした場合です。

これにより、ページのクラッシュ、プラグインの破損、またはサイト全体の障害が発生する可能性があります。多くの場合、次のようなメッセージが表示されます:「このウェブサイトで致命的なエラーが発生しました。」

重大なエラー PHPメモリ枯渇

バックグラウンドでは、実際のエラーは次のようになります。

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes)

WordPress は PHP で構築されており、サーバー上で実行され、機能するためにメモリを必要とします。サイトが利用可能なメモリ制限を超えると、PHP が機能しなくなり、このエラーが発生します。

これを解決した多くのユーザーを支援してきた経験から、サイトに以下のものがある場合に発生することがわかりました。

  • コードの質が低いプラグインが1つ以上インストールされています
  • 追加のサーバーメモリを使用する大きな画像またはビデオ
  • ホスティングリソースの制限、特に共有プランの場合

WordPress は、メモリ制限が 64 MB 未満の場合、自動的に引き上げようとします。しかし、多くの場合は、特に最新のプラグインやテーマにとっては十分ではありません。

実際のメモリ不足エラーが表示されない理由

実際のメモリ不足エラーが表示されない理由を知りたいですか?修正を試みる前に、これを理解することが重要です。

WordPressの古いバージョンでは、メモリ枯渇エラーメッセージが画面に直接表示されることがよくありました。

しかし、最近のバージョンでは、WordPressは代わりに、より一般的なメッセージを表示します。

「このウェブサイトで重大なエラーが発生しました。手順については、サイト管理者のメール受信トレイを確認してください。」

これは、WordPressがデフォルトで機密性の高いエラー詳細を非表示にするようになったためです。これは、訪問者がサイトに関する技術的な情報を表示するのを防ぐセキュリティ機能の一部です。

ただし、実際のエラーはバックグラウンドで引き続きログに記録されています。完全なメッセージを表示するには、次の手順を実行してください。

  • サイト管理者のメール受信トレイで、手順を確認してください。
  • wp-config.php ファイルでWordPressのデバッグモードを有効にする
  • サイトのエラーログをホスティングコントロールパネルから確認する

メール受信トレイを確認すると、件名が「Your Site is Experiencing a Technical Issue.」というメールが見つかるかもしれません。

メモリ枯渇エラーに関する技術的な問題メール

このメールには、エラーが発生した場所と正確なエラーメッセージが含まれています。

例えば、エラーがWordPressテーマまたはプラグインによって引き起こされていることがわかります。メールの最後には、実際のエラーメッセージが表示されます。

WordPressのメモリ枯渇エラー(技術的な問題メールメッセージ)

デバッグモードを有効にするのは、トラブルシューティング中は一時的に行うことをお勧めします。エラーが見つかったら、訪問者に技術的な詳細が表示されないように、必ずオフにしてください。

次のセクションでは、PHP メモリ制限を手動で増やしてエラーを修正し、サイトをスムーズに実行し続ける方法を説明します。

📝 注意: これらの方法のいくつかは、WordPressファイルを直接編集する必要があります。エラーがさらに発生するのを防ぐために、まずウェブサイトのバックアップを取ることをお勧めします。

準備はいいですか?早速始めましょう!

オプション1:wp-config.php ファイルの編集

まず、WordPressサイトのwp-config.phpファイルを編集する必要があります。これは、通常public_htmlという名前のルートディレクトリにあるコアWordPressファイルの一つです。

FileZilla のような FTP クライアント またはウェブホスティングコントロールパネルのファイルマネージャーを使用する必要があります。

次に、「That's all, stop editing! Happy blogging.」という行の直前に、次の行をwp-config.phpファイルに貼り付ける必要があります。

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

この行は、WordPressに最大512MBのPHPメモリを割り当てるように要求します。

ただし、最終的な制限はサーバーの設定によって異なります。ホストが低い上限を強制している場合、この変更は有効にならない可能性があります。

詳細については、wp-config.phpファイルの検索と編集方法に関するステップバイステップガイドをご覧ください。

完了したら、変更を保存し、wp-config.php ファイルをサーバーにアップロードし直す必要があります。

これでWordPressサイトにアクセスできるようになり、メモリ不足のエラーは解消されているはずです。

オプション2: .htaccess ファイルの編集

次の方法は、.htaccess ファイルを編集することです。このファイルも WordPress ウェブサイトのルートフォルダーにあります。

ここで、#END WORDPRESS という行の前に、次のコードを貼り付ける必要があります。

php_value memory_limit 512M

前のコードと同様に、WordPress に PHP メモリ制限を 512MB に増やすように指示します。

ただし、この方法はサーバーが mod_php を実行する Apache で動作する場合にのみ有効であることに注意してください。PHP-FPM または NGINX を使用している場合、この方法は効果がない可能性があります。

その後、変更を保存してファイルをウェブサーバーにアップロードし直してください。これで、メモリ制限エラーが解消されたかどうかを確認するために、WordPress ウェブサイトを再度開くことができます。

.htaccess ファイルが見つからない場合は、.htaccess ファイルが見つからない理由と見つけ方に関するガイドをご覧ください。

オプション 3: php.ini ファイルを確認する

上記の方法でうまくいかない場合は、php.ini ファイルを確認する必要があるかもしれません。

php.ini は、PHP のバージョンや PHP スクリプトなど、PHP の設定を制御するファイルです。WordPress のコアファイルではなく、通常はホスティングプロバイダーが管理します。

そのコードを確認して、PHPのメモリ使用量の上限を確認できます。詳細については、php.iniファイルの検索と編集方法に関するガイドをご覧ください。

ただし、これは高度な方法であるため、WordPressのメモリ制限を手動で増やすことができるかどうか、ウェブホスティングプロバイダーのサポートチームに連絡することをお勧めします。そうしないと、さらなるエラーが発生する可能性があります。

さらに、一部の共有ホスティングプランでは、ユーザーがphp.iniファイルにアクセスしたり変更したりすることが許可されていません。

詳細については、WordPress サポートの適切な求め方に関するガイドをご覧ください。

オプション4:WordPress ホスティングのアップグレード

メモリ枯渇エラーが頻繁に発生する場合、それはあなたのウェブサイトが現在のホスティングプランを超えている兆候である可能性があります。

ウェブサイトがより多くの訪問者を引き付け、より多くのコンテンツを追加するにつれて、スムーズに機能するためにより多くのリソースが必要になります。より高いメモリ割り当てを持つプランにアップグレードすることが、恒久的な解決策となる場合があります。

以下のような場合は、WordPressホスティングのアップグレードを検討してください。

  • 前の解決策を試しましたが、エラーは解消されません。
  • ウェブサイトのトラフィックまたはコンテンツが大幅に増加しました。
  • 機能や機能を追加する予定で、より多くのリソースが必要になります。

Bluehostは、ウェブサイトのニーズに合わせて拡張できる手頃で信頼性の高いWordPressホスティングプランを提供しています。WordPressに特化して最適化された使いやすいプラットフォームを提供しており、ウェブサイトの管理が容易です。

Bluehostクーポンコードを使用すると、初回購入時に最大61%オフになります。以下のボタンをクリックして入手してください。

Bluehost

WordPressのメモリ枯渇を回避する方法

WordPress のメモリ枯渇エラーを修正したので、再発を防ぐための予防策をいくつかご紹介します。

WordPressメモリ枯渇エラーに関するFAQ

WordPress でメモリ不足エラーが発生する原因は何ですか?

このエラーは、WordPressがサーバーがPHPに使用を許可しているよりも多くのメモリを必要とする場合に発生します。リソースを大量に消費するプラグイン、大きな画像、または低価格帯のホスティングプランでのトラフィックの増加によってトリガーされることがよくあります。

メモリ不足のエラーではなく、なぜ「致命的なエラー」メッセージしか表示されないのですか?

WordPress の新しいバージョンでは、技術的なエラーが一般的な「このウェブサイトで重大なエラーが発生しました」というメッセージの背後に隠されています。デバッグモードを有効にするか、エラーログを確認することで、完全なエラーを表示できます。

PHPメモリはどれくらい割り当てるべきですか?

メモリ制限を少なくとも256MBに設定することをお勧めします。これは通常、ほとんどのウェブサイトで十分ですが、大規模なWooCommerceストアを実行している場合や、重いプラグインを使用している場合は例外です。

共用ホスティングは、このエラーをより頻繁に引き起こす可能性がありますか?

はい。共有ホスティングプランは、リソースが限られていることがよくあります。ウェブサイトが成長するにつれて、より早くメモリ制限に達する可能性があります。より良いホスティングプランにアップグレードすることで、この問題を回避できます。

PHPメモリを手動で増やすのは安全ですか?

はい、適切に行われれば安全です。wp-config.php.htaccessのようなファイルを編集する前に、ウェブサイトのバックアップを取ることをお勧めします。これを行うことに慣れていない場合は、当社のPro Servicesチームがお手伝いできます。

その他のWordPressエラーガイド

その他のWordPressの問題をトラブルシューティングしている場合は、作業を簡単にするために作成した役立つガイドをいくつかご紹介します。

この記事がPHPメモリ制限を増やすことでWordPressのメモリ枯渇エラーの解決に役立ったことを願っています。また、WordPressエラーのトラブルシューティング(ステップバイステップ)初心者ガイドと、最も一般的なWordPressエラーの専門家リストも参照することをお勧めします。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

464 CommentsLeave a Reply

  1. 皆さん、素晴らしいです。WordPressを使い始めてから遭遇したほとんどの問題を解決してくれました。

  2. Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 22 bytes) in /home/nels1max/public_html/ngifts/wp-includes/class-wp-hook.php on line 286

    制限を拡大しようとしましたが、うまくいきませんでした。ページをリフレッシュすると、「/wp-includes/」の後の部分と行番号が変わりますが、これらのファイルにはサイズを拡大する場所がありません。何かヒントはありますか?

    • 512M に増やすことを試してください。実行しているテーマにはまだメモリが十分ではありません。幸運を祈ります!追伸:512M 以上のメモリがあることを確認してください。ホスティングプロバイダーに問い合わせてください。

  3. うまくいきました!提案ありがとうございます。しかし、質問があります。別の記事で、default-constants.phpでWP_MEMORY_LIMITを変更すると書かれていました。この2つの方法に違いはありますか?

    • 同じ質問があります。違いを説明していただけますか?なぜ一方を他方より使うのですか?

      • 定数は変更されない設定用であり、設定ファイルを編集することで、エラーが発生しなくなった後に元に戻すことができる変更を行うことができます。

        管理者

  4. すごい、これは魔法のようにうまくいきました。とても簡単でした!本当にありがとうございました!

  5. 解決策をどこでも探し、ホストに電話して答えを探しました。完璧に修正しました!本当にありがとうございます!

  6. 皆様へ

    このエラーが出ています。
    解決策を教えていただけますか?

    Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 8192 bytes) in /home/f036v20tz3th/public_html/wp-includes/functions.php on line 5276

    敬具
    KARTIK

  7. この記事、皆さん本当にありがとうございます!wp_memory_limit(wp-config.php)とmemory_limit(php.ini)を変更する違いは何ですか??同じですか??
    このメモリ制限は個々のセッション用ですか、それともWordPressサイト全体用ですか??200人の訪問者が数分で来た場合、この数値を大幅に上げる必要があるのか、それとも低く保とうとするのか、お伺いしたいです???助けていただけると嬉しいです!

  8. これをありがとう!この問題を解決するために数時間費やしました。

    再度ありがとうございます!

  9. When I changed with 512 M it was failed then I put it define( ‘WP_MEMORY_LIMIT’, ‘2000M’ );
    And it works well.
    /* That’s all, stop editing! Happy blogging. */ :-)

  10. そのコードが機能しない場合は、次のように言い換えてください。

    //WPメモリ制限を増やす
    define(‘WP_MEMORY_LIMIT’, ‘256M’);

    • 魔法のようにうまくいき、ロードも速くなりました…しかし、根本原因を知ってそこを修正したいです。

    • メモリを増やしても上限に達してしまい、同じようなエラーが頻繁に発生しました。WordPress.comでの投稿編集でもエラーが発生し、タグやカテゴリが反映されませんでした。
      WPでは動作するようですが、かなり遅延しました。
      より多くのメモリを割り当てれば可能です。ホスティングで割り当てられたメモリの半分を自分で割り当てるつもりです。cPanelで確認してください。

  11. 本当にありがとうございます!開発者が対応してくれるのを待っていて、自分でできるのに時間を無駄にしていました!たくさんの時間を無駄にしました、この記事を公開してくれてありがとうございます!!

  12. これは素晴らしいです。わずか2分でウェブサイトが復旧しました。ありがとうございます!

  13. あなたは最高です!わかりやすく、うまくいきました!私はウェブに疎いのですが、一度で修正できました。ありがとうございます!

  14. この記事をありがとうございます。本当に助かりました。この問題を解決して、サイトの構築に進むことができました。

  15. これを行う前に…ルートインストールディレクトリを確認してください。ホスティングサービスによって残された空の「index.htm」ファイルがあり、完全にそれを見落としていました。

  16. このチュートリアルを投稿していただき、本当にありがとうございます! ウェブサイトが修正され、再び息ができるようになりました!

  17. 君たちは最高だ…

    問題が発生するたびに、ここから解決策を見つけました…

    素晴らしい記事をありがとうございます。

  18. ありがとうございます!!!!これは救世主でした!!!オンラインフォーム経由で一部のメールが送信されない理由をトラブルシューティング中に、プラグインをインストールしたところ、このエラーが発生しました。私のウェブサイトは再び稼働しています!!!!重ねて感謝いたします!

  19. これで多くの問題が解決しました!テーマを変更できること、ウィジェットを保存できること – 素晴らしいヒントです!この解決策を探すのにかなりの時間を費やしました。

  20. this doesn’t resolve my issue :( plz now tell me what I can do ?
    still error is there

    Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 4114136611 bytes) in C:\xampp\…\wp-includes\functions.php on line 5163

    • このエラーがよく発生します。原因がよくわかりません。

      これは、関数 wp_is_stream() から来ています。これがエラーの原因となっているのがどこで使用されているのかわかりません。

      少し調査したところ、header.php ファイルの wp_head() をコメントアウトすると問題が解決することがわかりました。具体的には、「wp_head」アクションにフックされたもので、優先度が10のフィルターのいずれかだと思います。残念ながら、ここまで来てエラーが魔法のように自己解決して消えてしまったため、正確な関数を特定できませんでした。また、wp_is_stream() は3〜4箇所でしか使用されていなかったので、その関数の使用箇所を確認するだけで、犯人を簡単に見つけられるかもしれません。

  21. これは素晴らしかったです。最初はこの種のことを初めて行うので懐疑的でした。ついに実行してみたらうまくいきました。本当にありがとうございます。

  22. 本当にありがとうございます、助かりました。WordPress関連の問題のほとんどで、いつもお世話になっています!

コメントを残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。