Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 430080 bytes) in /home/xxxx/public_html/xxxxx.com/wp-includes/wp-db.php on line xxxx
WordPressで固定ページを編集しようと編集をクリックすると上記エラーが発生してしまいました。
PHPのメモリ不足が原因のようです
詳しく言うと、許可されているメモリサイズ(268435456 bytes = 256MB)を使い果たして、
さらに397312 bytes(約388KB)の追加メモリ割りあてようとしたら失敗したようです
おそらく原因は固定ページ内に大量の画像ブロックを配置しているから
メモリの上限
メモリの制限は複数の層で設定されています
- レンタルサーバー(PHP)の制限
- サーバーの
php.ini
ファイルで設定される制限 - サーバー全体のPHPスクリプトに適用される最大メモリ使用量
- レンタルサーバーの管理画面やFTPでphp.iniをアップロードすることで変更可能
- WordPressの制限
- WordPressの
wp-config.php
ファイルで設定される制限 - PHPの制限を超えて設定することはできない
- 例:PHPの制限が256MBの場合、WordPressで512MBと設定しても256MBまでしか使用できない
1)サーバー全体のPHPで設定されるメモリ制限
これが最も上位の制限となり、この値を超えることはできない
通常、レンタルサーバーの管理画面やサポートでのみ変更可能
メモリの確認方法
ルードディレクトリに下記の様なphpファイルを設置しアクセスし、memory_limitを確認できます
info.php
<?php phpinfo(); ?>
↓アクセスしてみるとメモリ上限が確認できます
php.iniで上限をふやせます
お名前ドットコムをレンタルサーバーで使用している場合は下記の記事を参考できます。
ご利用サーバーのFTPサーバーへご接続いただき、該当ドメインディレクトリ直下に
エラーの内容以上のメモリサイズを記述した「php.ini」ファイルを設置(アップロード)してください。
※既に「php.ini」ファイルを設置されている場合には、同ファイルを修正してください。
2)WordPress側のメモリ
- WP_MEMORY_LIMIT:通常時の制限(デフォルト40M)
- WP_MAX_MEMORY_LIMIT:管理画面での制限(デフォルト256M)
ワードプレスのメモリは管理画面のツールのサイトヘルスから確認できます
一時的にメモリ制限を大幅に引き上げる方法:
// wp-config.phpに追加
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
wp-config.php冒頭の<?phpの次の行に追記しました
↓サイトヘルスで変更が確認できました
対処法
今回のエラー
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate…
はどちらのエラー??
Fatal error: [エラーの説明] in [ファイルのパス] on line [行番号]
はPHPのエラーメッセージの形式
WordPressメディアライブラリから画像データそのものを削除すると、固定ページ上のギャラリーブロックに関連付けられていた画像の参照が切れ、メモリ消費が減少するため、編集画面に遷移できる可能性が高い
ただし、以下の点に注意が必要です:
- メディアライブラリから画像を削除した場合:
- 固定ページ上のギャラリーブロックは残りますが、削除した画像は「見つかりません」や空の枠として表示される
- ブロックエディタで開くと、画像が欠落したギャラリーブロックとして表示される
- サイト上では画像が表示されなくなる
- 推奨される手順:
- まずサイトとデータベースのバックアップを取る
- メディアライブラリから、問題のページで使用している画像を一部削除
- 編集画面にアクセスできるようになったら、不要なギャラリーブロックを整理
- 必要な画像は最適化して再アップロード
- より安全な代替アプローチ:
- まず、wp-config.phpでメモリ制限を一時的に引き上げてから
- 画像の整理と最適化を行う方が、データの制御がしやすい
このアプローチで編集画面にアクセスできるようになったら、今後のために:
必要に応じてギャラリーの分割 を検討することをお勧めします。
画像サイズの最適化
1ページあたりの画像数の制限
ワードプレスのデバッグモードを有効にして詳細なエラー情報を確認:
// wp-config.phpに追加
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);