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

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

本番モードのエラー画面

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

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

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

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

【動作環境】
EC CUBEのバージョン:4.3.0
サーバー: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=prod
#APP_DEBUG=0
APP_ENV=env
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 4.3.0 では、デバッグモードが有効のときに管理画面にアラートが表示されるようになりました。

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

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

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

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

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

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

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

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

bin/console cache:clear --no-warmup

SSH接続の方法については、XServer限定ですが以下記事で解説しています。

「bin/console: 許可がありません」と表示されたら・・・

以下コマンドを順に実行し、権限を付与してから再度実行します。

cd bin
chmod 0704 console
cd ..

PHPのバージョン要件を満たしておらず、エラーメッセージが表示されたら・・・

適切なPHPバージョンを指定してコマンドを実行します。

例)PHPのバージョン(php8.3)を指定して、EC-CUBEのキャッシュをクリアしたい場合

/usr/bin/php8.3 bin/console cache:clear --no-warmup

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


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