【EC-CUBE 4】デバッグモードの設定/解除方法

エラーページにデバッグ情報を表示したい!

この記事では、開発時には便利なデバッグモードを設定・解除する方法を紹介しています。

本番モードのエラー画面

本番モードのエラー画面
予め用意されたエラーページが表示されるのみ

デバッグモードのエラー画面

デバッグモードのエラー画面
エラーの詳細画面が表示される

さらにデバッグモード中は、変数の中身を確認できる「dump()」関数も使えるようになります。
カスタマイズに必須ともいえる関数ですので、合わせて使いこなせるようにしておきましょう。

【動作環境】
EC CUBEのバージョン:4.1.2
サーバー:Xserver

目次

デバッグモードの設定方法

デバッグモードは、ec-cubeのルートディレクトリ直下にある「.env」ファイルを少し修正するだけで簡単に設定できます。

envファイルのディレクトリ
ファイルサーバーにアクセスし、「.env」ファイルをダウンロードします。

「.env」ファイルの6〜7行目あたりを以下の通り修正します。

.envファイル 修正前

# This file is a "template" of which env vars needs to be defined in your configuration or in an .env file
# Set variables here that may be different on each deployment target of the app, e.g. development, staging, production.
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration

###> symfony/framework-bundle ###
APP_ENV=prod
APP_DEBUG=0
#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
#TRUSTED_HOSTS=localhost,example.com
###< symfony/framework-bundle ###

・・・

.envファイル 修正後

# This file is a "template" of which env vars needs to be defined in your configuration or in an .env file
# Set variables here that may be different on each deployment target of the app, e.g. development, staging, production.
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration

###> symfony/framework-bundle ###
#APP_ENV=prod
#APP_DEBUG=0
APP_ENV=dev
APP_DEBUG=1
#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
#TRUSTED_HOSTS=localhost,example.com
###< symfony/framework-bundle ###

・・・
  1. APP_ENV=prod
    APP_DEBUG=0
    の2行をコピーして次の行に追加
  2. コピペした2行を以下の通り修正
    APP_ENV=dev
    APP_DEBUG=1
  3. コピー元の2行は先頭に「♯」を付けてコメントアウト

APP_ENV

  • 本番環境 → APP_ENV = prod
  • 開発環境 → APP_ENV = dev

APP_DEBUG

  • エラー時に最小限の表示を行う → APP_DEBUG = 0
  • エラー時に詳細表示を行う → APP_DEBUG = 1

修正が終わったファイルをサーバーにアップし、デバッグモードの設定は終了です。
念のため管理画面からキャッシュを削除し、エラーページが変わっているか確認しておきましょう。

キャッシュの削除方法
管理画面の「コンテンツ管理」→「キャッシュ管理」からキャッシュを削除できます。

本番環境ではデバッグモードの解除を忘れずに

デバッグモードのままでも通常表示はきちんと行われるので、本番環境に戻すのを意外と忘れがち。

ただデバッグモードでは、ページがインデックス登録されないなどの問題が発生してしまいます。本番環境に戻す(今回追記した2行の先頭に「♯」を付けてコメントアウトし、元の2行の「♯」を外す)のを忘れないようにしましょう。

デバッグモードを解除したときにエラーが発生する場合

デバッグモードでカスタマイズを行ったあと本番環境に戻すと、稀にエラー画面が表示される場合がありました。(デバッグモード中では特にエラーは出ていないにも関わらず。)

そんなときはキャッシュを削除すると、解消される場合があります。

キャッシュは「EC-CUBE管理画面」→「コンテンツ管理」→「キャッシュ管理」で削除できます。
が、エラーの発生状況によってはそもそも管理画面にすら入れないパターンもあります。

その場合は、ちょっと面倒ですがサーバーにSSH接続をして、ルートディレクトリに移動した状態(Xserverならpublic_htmlに移動した状態)で以下コマンドを打ち込むとキャッシュを削除できます。

bin/console cache:clear --no-warmup
XserverでSSH接続する方法はこちら

もしレンタルサーバーのXserverを使っていれば、以下記事でSSH接続方法を解説しています。

カスタマイズ時によくわからないエラーが発生した場合は、とりあえずキャッシュを削除する癖をつけておくと良さそうです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次