EC-CUBE Lab
produced by Cajiya
EC-CUBEに関するカスタマイズ方法やトラブルへの対処方法を発信

EC-CUBEでメモリ不足エラーが発生した場合の対処方法

公開日: 2025年10月12日 | 更新日: 2025年12月02日
サイト全体 500エラー EC-CUBE 4系全般 設定変更

要望や症状

EC-CUBEの運用中に以下のようなメモリ不足エラーが発生することがあります。

エラーメッセージ

Error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 1052672 bytes)

このエラーは、管理画面での商品一括登録や、商品データの大量処理時に発生することが多く、サイトの正常な動作を妨げる原因となります。

理由や原因

EC-CUBEの動作に必要なメモリ容量が、PHPのmemory_limit設定値を超過していることが原因です。

根本的な要因

EC-CUBE 4系では1GB程度のメモリが最低限必要となります。256MB〜512MBの設定では処理負荷の高い操作時にメモリ不足が発生します。特にMonologのログ処理やTwigテンプレートエンジンの処理時にメモリ消費が増加する傾向があります。

502エラーが発生する理由

メモリ不足による 502 Bad Gatewayエラーは、レンタルサーバー側のリソース制限に抵触している可能性が高いです。多くの共用レンタルサーバーでは、プロセス単位のメモリ使用量に上限が設けられているためです。

解決策

推奨される対応手順

メモリ不足エラーを解決するためには、以下の手順で対処してください。

1. メモリ設定の最適化

まず、PHPの設定ファイル(php.ini)で以下の設定を変更してください。

memory_limit = 1024M
max_execution_time = 300

2. 設定反映の確認

設定が正しく反映されているかを確認するため、以下のPHPファイルを作成してブラウザでアクセスしてください。

<?php
phpinfo();

memory_limitの値が1024Mに変更されていることを確認してください。確認後は、セキュリティ上の理由でファイルを削除してください。

3. サーバー環境の確認

レンタルサーバーの管理画面でPHPのメモリ制限設定を確認してください。共用サーバーの場合は、プロセス制限やCPU制限の有無も併せて確認が必要です。

根本的な解決策

サーバー環境の見直し

共用レンタルサーバーでメモリ制限の問題が解決されない場合は、VPSまたは専用サーバーへの移行を検討してください。EC-CUBE推奨環境(メモリ1GB以上)を満たすホスティングサービスの利用をお勧めします。

アプリケーション側の最適化

ログ出力を削減することでメモリ使用量を抑制することも可能です。以下の設定をapp/config/eccube/packages/prod/monolog.yamlに追加してください。

monolog:
    handlers:
        main:
            level: error  # debugからerrorに変更してログ出力を削減

注意事項

設定変更を行う際は、以下の点にご注意ください。

共用レンタルサーバーでは、memory_limitを大幅に増加させるとサーバー側の制限に抵触し、502エラーや503エラーが発生する場合があります。設定変更前には必ずデータベースとファイルのバックアップを取得してください。また、メモリ使用量の増加は他のプロセスにも影響を与える可能性があることを考慮してください。

免責事項

本記事に掲載しているコードや手順は、執筆時点での情報および特定の環境下での動作確認に基づいています。 EC-CUBEのバージョン、サーバー環境、導入済みプラグインとの競合などにより、予期せぬ不具合が発生する可能性があります。

本記事の内容を実行した結果、生じた損害(データの消失、サイトの停止、機会損失など)について、当サイトおよび管理者は一切の責任を負いかねます。 実装にあたっては、必ずバックアップを取得し、検証環境(テスト環境)での動作確認を行った上で、ご自身の責任において実施してください。

この記事は参考になりましたか?

著者プロフィール: 株式会社カジヤ

当社はWeb業界の専門家として、培った経験や技術、自社事業を通して得た知見を土台に、 お客様の事業の成長を後押しすることを提供価値として活動する、Web事業の成長支援会社です。 EC-CUBE公式のパートナー制度「EC-CUBE インテグレートパートナー」に登録してしており、上位11%にあたる「ゴールドランク」に認定された実績があり、新しい通販サイトの構築から、カスタマイズ、リニューアルまで幅広く対応します。

サイト全体 の関連記事

サイト全体 文字化け キャッシュ操作
日本語ではなく翻訳キー(例:admin.home)が表示されるバグの解消方法

EC-CUBEの管理画面や商品一覧ページなどで、本来であれば日本語で表示されるべき箇所に「admin...

👍 0 / 👎 0 2025年09月24日
サイト全体 500エラー EC-CUBE 4系全般
MySQL 5.5へのインストール時に発生する「key was too long」の原因と解消方法

MySQL 5.5環境にEC-CUBEを新規インストールする際、MySQL初期化ステップで以下のエラ...

👍 0 / 👎 0 2025年09月23日

500エラー の関連記事

サイト全体 500エラー EC-CUBE 4系全般
MySQL 5.5へのインストール時に発生する「key was too long」の原因と解消方法

MySQL 5.5環境にEC-CUBEを新規インストールする際、MySQL初期化ステップで以下のエラ...

👍 0 / 👎 0 2025年09月23日

EC-CUBE 4系全般 の関連記事

商品 データ不整合 EC-CUBE 4系全般
EC-CUBEで取り扱い終了商品の削除ができない理由と対応方法

EC-CUBEでは、取り扱いを終了した商品を削除したい場合に、削除ができない状態になることがあります...

👍 1 / 👎 0 2025年10月12日
インストール・セットアップ EC-CUBE 4系全般 設定変更
EC-CUBEサイトのドメイン変更時の設定変更方法

EC-CUBEで構築したサイトを新しいドメインで公開する際に、どのような設定変更が必要かわからない場...

👍 0 / 👎 0 2025年10月12日
メール通知 通知/コミュニケーション EC-CUBE 4系全般
メール件名のショップ名を英語表記に変更する方法

EC-CUBE 4系で、メール件名の先頭に自動挿入される店舗名を英語表記に変更したい場合があります。...

👍 0 / 👎 0 2025年10月12日
フロント共通 機能不動作 EC-CUBE 4系全般
CloudFrontを利用時にリンクのドメインがEC2のパブリックDNSになってしまう問題の解決方法

EC-CUBE 4.2をAWS ECS on EC2上で構築し、CloudFrontをCDNとして利...

👍 1 / 👎 0 2025年10月12日
管理画面共通 パフォーマンス劣化 EC-CUBE 4系全般
EC-CUBEのlogフォルダ肥大化の管理方法

var/log/prodフォルダ内のログファイルが肥大化し、ディスク容量を圧迫している状況が発生しま...

👍 1 / 👎 0 2025年10月12日

設定変更 の関連記事

インストール・セットアップ EC-CUBE 4系全般 設定変更
EC-CUBEサイトのドメイン変更時の設定変更方法

EC-CUBEで構築したサイトを新しいドメインで公開する際に、どのような設定変更が必要かわからない場...

👍 0 / 👎 0 2025年10月12日
フロント共通 機能不動作 EC-CUBE 4系全般
CloudFrontを利用時にリンクのドメインがEC2のパブリックDNSになってしまう問題の解決方法

EC-CUBE 4.2をAWS ECS on EC2上で構築し、CloudFrontをCDNとして利...

👍 1 / 👎 0 2025年10月12日
管理画面共通 パフォーマンス劣化 EC-CUBE 4系全般
EC-CUBEのlogフォルダ肥大化の管理方法

var/log/prodフォルダ内のログファイルが肥大化し、ディスク容量を圧迫している状況が発生しま...

👍 1 / 👎 0 2025年10月12日
管理画面共通 機能不動作 EC-CUBE 4系全般
.htaccessを使用したIPアドレス制限とメンテナンス画面表示の設定方法

EC-CUBE 4系において、機能リリースなどのタイミングで一般のユーザーにはメンテナンスモードを表...

👍 1 / 👎 0 2025年10月12日
メール通知 メール送信不具合 EC-CUBE 4.2系 / Symfony 5.4
XServerでのメール送信設定における環境変数設定エラーの解消方法

XServerでメール送信を行う際に、MAILER_URL環境変数を設定してもメールが送信されない問...

👍 0 / 👎 0 2025年10月12日