EC-CUBE4 システムエラーに対処 Unable to generate a URL for the named route
EC-CUBE4のシステムエラーは、本当に焦ります。
本ブログでも何度かシステムエラーの対処記事を記載しております。
ですが、今回は過去の現象とは異なる事例でした。
なんとか対処できましたので忘備録として記録いたします。
現象はEC-CUBE4のシステムエラーです。
最近何度かお目にかかるシステムエラーです。
画面を見ただけでは原因がわからないため、EC-CUBEのログをみて原因を探します。
EC-CUBE4のログは、/var/log/ フォルダに入っています。
今回は過去のシステムエラーと原因が異なりました
EC-CUBE4のシステムエラーは過去に何度が対処しましたが、原因が異なりあまり参考になりませんでした。
EC-CUBE4のシステムエラーは奥が深いです。
今回の現象はログを見ても原因がさっぱりわかりませんでした
困ったらログを見る。
プログラマーの鉄則です。
そこでログを確認したところ、以下のようなメッセージが表示されていました。
システムエラーが発生しました。 [“Unable to generate a URL for the named route \”plugin_SortProduct\” as such route does not exist.”,
なにやらプラグインの問題のように見受けられます。
早速このエラーメッセージをググりますが、明確な答えが見つけられませんでした。
プラグインが原因のような感じもしましたが、システムエラーで管理画面にログインすらできないため、プラグイン停止などもできません。
非常に困りました。
なのでできることからやってみようと思い次のことを試したところ、1発でシステムエラーが改善しました。
EC-CUBE4のキャッシュを強制削除したらシステムエラーが改善
EC-CUBE4で困ったら、まずEC-CUBEのキャッシュ削除です。
と思い、キャッシュを削除したところ、システムエラーが直りました。
ただ、管理画面に入れないためFTPで直接キャッシュを強制削除しました。
場所は /var/cache/ です。
こちらの記事でやり方を記載しております。
原因はプラグインが影響していたようですが・・
今回原因がさっぱりわからなかったのは、ログには「プラグインの特定フォルダが見当たらない」というメッセージが出ていたのですが、プログラムの記述についてのエラーではなかったためです。
フォルダがないならば、フォルダを作ればよいのではないか?
とも思いましたが「何処に作ればよいのか?」ということが情報がなくてさっぱりでした。
実際にはEC-CUBE4で、キャッシュ側のプログラムで動いており、そのプログラムに不備があったようです。
キャッシュが壊れていたのか、プラグイン更新時にうまくキャッシュされなかったのかは不明ですが、キャッシュ側に問題がありました。
なので、キャッシュクリアで解決できました。
困ったらまずキャッシュクリア。
一つ大事なことを覚えました。