ローカルに入っているテスト用のconcrete5をアップデートしたら、「編集モード」をクリックすると「予期せぬエラーが発生しました」案内が出るようになってしまったので、デバッグ出力をして修正するメモ。
エラー内容
今回遭遇したエラー内容はこちら
Cannot redeclare class Concrete\Block\ExpressEntryList\Controller
Expressまわりのエラーかな?
デバッグ設定
「管理画面」-「システムと設定」-「サーバー設定一覧」-「デバッグ設定」を順にクリック。
Error Detailの箇所の「エラーのデバッグ出力を表示」にチェックを入れて「保存」をクリックする。
エラー画面が変わる
エラー画面がちょっとおっかない感じ(笑)に変わりました。
問題が発生しているのは
application\blocks\express_entry_list\controller.php ということがわかりました。
該当ファイルを修正する
該当ファイルを修正します。
どうやらConcreteフォルダ下の該当ファイルをapplicationフォルダ下にコピーしたときにnamespaceの名前を変えていなかったようで、そのファイルがアップデートしたときにエラーを起こしたみたいです。(よく今まで動いてたな・・・っていうミスです)
namespace Concrete\Block\ExpressEntryList;
Concreteの部分を
namespace Application\Block\ExpressEntryList;
Applicationに変更することで今回は改善しました。
デバッグ設定の修正
「管理画面」-「システムと設定」-「サーバー設定一覧」-「デバッグ設定」を順にクリック。
Error Detailの箇所を「エラーメッセージのみを表示」にチェックを入れて「保存」をクリックする。
これでおしまい!
アップデートした際にしまった!という時はまずは落ち着いてデバッグモードを。
(※ただし、注意書きにもあるように公開すべきでない情報を表示してしまうこともあるので所謂正式サイトでの取り扱いは注意ください)