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

この記事では、カスタマイズ時に便利なデバッグモードの設定または解除方法について紹介しています。

本番モードのエラー画面

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

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

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

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

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

目次

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

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

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

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

.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 ###
# For production servers, use: "APP_ENV=prod" and "APP_DEBUG=0"
# For local development, use: "APP_ENV=dev" and "APP_DEBUG=1"
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 ###
# For production servers, use: "APP_ENV=prod" and "APP_DEBUG=0"
# For local development, use: "APP_ENV=dev" and "APP_DEBUG=1"
APP_ENV=dev
APP_DEBUG=1
#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
#TRUSTED_HOSTS=^localhost$,^example\.com$
###< symfony/framework-bundle ###

APP_ENV

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

APP_DEBUG

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

EC-CUBE 4.2以降は、ファイル内に本番環境(For production servers)と開発環境(For local development)の設定に関するコメントが記載されるようになりました。

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

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

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

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

ただデバッグモードでは、ページがインデックス登録されないなどの問題が発生してしまいます。
本番環境に戻すのを忘れないようにしましょう。

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

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

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

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

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

bin/console cache:clear --no-warmup

「実行権限がない」と表示された場合は、先に以下コマンドで権限を付与してから行います。

cd bin
chmod 0704 console
XserverでSSH接続する方法はこちら

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

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

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