【WordPress PHPエラー】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

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で固定ページを編集しようと編集をクリックすると上記エラー

おそらく原因は固定ページ内に大量の画像ブロックを配置しているから

対処法

データベースから直接アクセスする方法:
PHPMyAdmin等を使って、wp_postsテーブルから該当ページのpost_contentを編集することができます。これにより、編集画面を介さずにコンテンツを修正できます。

一時的にメモリ制限を大幅に引き上げる方法:

// wp-config.phpに追加
define('WP_MEMORY_LIMIT', '1024M');  // 1GBに設定
define('WP_MAX_MEMORY_LIMIT', '1024M');

WordPressメディアライブラリから画像データそのものを削除すると、固定ページ上のギャラリーブロックに関連付けられていた画像の参照が切れ、メモリ消費が減少するため、編集画面に遷移できる可能性が高い

ただし、以下の点に注意が必要です:

  1. メディアライブラリから画像を削除した場合:
  • 固定ページ上のギャラリーブロックは残りますが、削除した画像は「見つかりません」や空の枠として表示される
  • ブロックエディタで開くと、画像が欠落したギャラリーブロックとして表示される
  • サイト上では画像が表示されなくなる
  1. 推奨される手順:
  • まずサイトとデータベースのバックアップを取る
  • メディアライブラリから、問題のページで使用している画像を一部削除
  • 編集画面にアクセスできるようになったら、不要なギャラリーブロックを整理
  • 必要な画像は最適化して再アップロード
  1. より安全な代替アプローチ:
  • まず、wp-config.phpでメモリ制限を一時的に引き上げてから
  • 画像の整理と最適化を行う方が、データの制御がしやすい

このアプローチで編集画面にアクセスできるようになったら、今後のために:

必要に応じてギャラリーの分割 を検討することをお勧めします。

画像サイズの最適化

1ページあたりの画像数の制限

ワードプレスのデバッグモードを有効にして詳細なエラー情報を確認:

// wp-config.phpに追加
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);