ログで症状を確認する
Allowed memory sizeなどのエラーと、発生した操作・ファイルを確認します。PHPのmemory_limitは一般に一つの処理の上限であり、サーバー全体の搭載メモリとは異なります。同時に処理が増える場合は全体の負荷も確認します。
上限と消費要因を分ける
PHP設定、WordPressのメモリ関連定数、ホスティング側制限を照合します。画像サイズ、一括出力件数、製品追加、最近の変更と比較します。WordPress側だけ数値を上げても、上位設定で制限される場合があります。
対処の選択肢
対象処理の分割、画像の適正化、製品の修正、不要処理の停止、適切な範囲の上限調整を検討します。設定を無制限にすると他処理を圧迫するおそれがあります。変更前の値と再現条件を控えて検証します。
改善の確認
同じデータと操作で再試験し、エラー、所要時間、サーバー全体の負荷を比較します。単一処理が通っても、同時アクセス時に問題が残らないか確認し、必要なら提供者へリソース条件を相談します。
画像処理で起きる場合の確認
ファイル容量だけでなく画像の縦横寸法、生成するサイズ数、画像ライブラリー、同時処理を確認します。小さな圧縮ファイルでも展開時に多くのメモリを使う場合があります。入力データの条件を記録し、上限変更と画像の適正化を比較します。
一括出力や移行で起きる場合
全件を一度に読み込まず、分割・ページング・ストリーム処理を使えるか調べます。ログに最後に出たファイルだけで原因を決めず、対象データ件数と呼出し元を確認します。
よくある質問
WordPressのメモリ定数を上げれば十分ですか?
上位のPHP設定やホスティング制限により反映されない場合があります。実効値と実行系を確認し、サーバー全体への影響も調べます。
メモリ不足なのにサーバーの空きはあります。
一処理の上限と全体の空き容量は別です。どの上限に達したかをログと設定から確認してください。