EC-CUBE4系をデバッグモードで実行する方法をご紹介します。

デバッグモードとは?

EC-CUBE4では通常エラーが発生しても「システムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。」と表示されるだけで原因が全く分かりません。

eccube4_system_error

エラーの原因がユーザーに分かってしまうとセキュリティ上問題があるため、あえてエラー内容は表示しないようになっています。

しかしサイト開発時にはこれでは非常に効率が悪いので、エラーを画面に表示してサイト閲覧を行うのがデバッグモード(開発者モード)です。

EC-CUBE4をデバッグモードで実行するには?

デバッグモードを簡単に実行するにはEC-CUBEをインストールしたディレクトリに存在する.envファイルを修正します。APP_ENVとAPP_DEBUGという設定項目がありますので下記のように変更してください。

[変更前]
APP_ENV=prod
APP_DEBUG=0

[変更後]
APP_ENV=dev
APP_DEBUG=1

デバッグモードで実行することによりどのファイルの何行目にエラーがあるのか原因を特定しやすくなります。

EC-CUBE4デバッグモード

デバッグに役立つSymfony Toolbar

実はEC-CUBEの場合、APP_DEBUGを1にするだけでもデバッグモードで実行されるようになります。エラーの原因を明らかにしたい場合はこれだけで十分なことが多いです。

ただしさらに便利なSymfonyToolbarを使用したい時はAPP_ENVをdevに変更します。SymfonyToolbarが画面下部に表示され、実行されたSQL、フォームの内容、表示速度など様々な情報が確認できるようになります。

EC-CUBE4 SymfonyToolbar


関連するカスタマイズ

注文や会員登録時のメールが送れない時の対応方法... EC-CUBE4ではメールの設定はルートディレクトリに設置されている.envに記載されています。 この設定値によってメールの送信方法を変えることが可能です。 .envには様々な設定がありますがメールの送信に関する設定はMAILER_URLです。 この設定でSwiftMailerが使...
XServerのSSH接続でPHP5.4ではなくPHP7を指定してbin/console実行... EC-CUBE4はphp7.1以上が必須要件になっており、bin/consoleスクリプトを使う場合はコマンドラインでもPHP7が必要です。 エックスサーバーのようにSSHが接続できるレンタルサーバーでも最初はPHPのバージョンが5.4となっています。ですので、下記の手順に従って、実行できるPHP...
4系で管理画面に新規メニュー項目を追加する方法... 今回は商品管理の一番下に新規メニュー項目を追加することを考えます。 まずメニューから開けるページが必要ですのでコントローラーを作成し、新しいページを作った後でそのページをメニューに追加してみましょう。今回はeccube_nav.yamlを編集するもっとも簡単な方法をご紹介します。 管...
4系で管理画面に2ステップで新規ページを作る方法... EC-CUBE4では、ページの作成が3系と比べて非常に簡単になりました。 今回は管理画面に新規ページを作成する方法をご紹介します。実際にhttp://管理画面/new_menuというURLでアクセスできるページを作っていきます。 コントローラークラスの作成 app/Customize/Co...