【WordPress】致命的なエラー:許可されたメモリサイズ268435456バイトが使い果たされましたの原因と対処法【Conoha WING】

【WordPress】PHPメモリエラー原因と対処法

本記事はアフィリエイト広告(PR)を含みます

ブログを書いていると、ある時急にプレビューが表示されなくなり、

致命的なエラー: 許可されたメモリサイズ 268435456 バイトが使い果たされました (100561508 バイトを割り当てようとしました) /home/********/public_html/shimons-labo.com/wp-content/themes/cocoon-master/lib/open-graph.phpの126行目

というエラーが表示されてしまいました。

下書きも保存できなくなり、一度戻ると下書きの表示すらされなくなってしまいました。

今回はこのエラーの対処法についての備忘録になります。

※再現環境

サーバー:Conoha WING
WordPressテーマ:Cocoon Ver2.8.9.1、Cocoon Child Ver1.1.3

1. エラーの原因と解決策

Conoha WINGのPHPメモリ上限が256MByteに設定されているので、プレビュー生成や下書き保存時にその上限を超えるデータの読み込みが発生するとエラーで表示されなくなるようです。

ブログに大量の画像が貼ってある場合はその分メモリ消費も多くなりますが、画像データは圧縮されるので256MByteの上限に達することはめったにありません(数千~数万枚の画像を掲載している場合はわかりませんが)。

今回の原因は外部リンクにありました。

ブログに外部リンクが貼ってあると、OGPを取得するためリンク先の解析処理が入ります。
通常、リンク先はWEBサイトなので画像が入っていたとしても数M~数十MByte程度で済むことが多いと考えられます。

問題は外部リンクにファイルのダウンロードリンクを貼っていた場合です。
リンク先がWEBサイトではなくバイナリファイルなどへの直リンクだった場合、そのファイルを解析するためにメモリが消費されるためあっという間に上限に達してしまいます。

よって、エラーの解決方法は

ダウンロードファイルへの直リンクを貼らない

となります。

スポンサーリンク

2. 応急処置(Conoha WING)

このエラーが出てしまうと下書きも表示できなくなるので、一度戻ってしまうと編集ができなくなってしまいます。

その場合の応急処置として、一時的にメモリ上限を増やして下書きを編集できる状態にします。

① Conoha WINGにログインし、ファイルマネージャーに入る

② wp-config.phpをダウンロード

wp-config.phpの編集はあくまで自己責任でお願いします。
このファイルが壊れるとブログ自体が壊れるので必ずダウンロードするようにしてください。

③ ファイル編集

wp-config.phpをダウンロードしたら、「ファイル編集」で編集画面に入ります。
エディタは今回はACE Editorを選びます。

④ PHPメモリ上限解放

wp-config.phpを開いたら、「<?php」の下に以下のメモリ上限を追加します。
私の場合はPTHファイルの直リンクを貼ってしまったため512MByteでは足りず、1024MByteで何とか復活しました。

define('WP_MEMORY_LIMIT', '1024M');
define('WP_MAX_MEMORY_LIMIT', '1024M');

設定可能な上限は環境によります。

上限を追加したら保存して閉じます。

スポンサーリンク

3. まとめ

今回はWordPressでPHPメモリ上限でエラーが表示されてしまった際の原因と対処法についてまとめました。
メモリ展開が多いとプレビュー表示や下書き保存に時間がかかります。
下書きの復帰に成功したらダウンロード直リンクを外して保存し、wp-config.phpは元に戻しておくことを推奨します
wp-config.phpをそのままにしているとエラーに気づきにくくなるので。

これで解決しない場合は一旦すべての外部リンクを外してみるのもありです。

今回は以上です。

スポンサーリンク

4. 参考サイト

WordPressの編集画面でメモリ不足エラーが出たときの対処法(ConoHa編)
https://note.com/koyama_web/n/n8cb4d0da6791

5. 関連書籍

スポンサーリンク

コメント

タイトルとURLをコピーしました