他社制作のEC-CUBEの保守を請け負っている案件があるのだが、サイトは表示されるけど500errorが出る、Google様から警告が来るという不具合が出ていたので調べた。
多分プラグインだろうな…と確認してみると、そもそも2.13のEC-CUBEに2.12までしか対応していないプラグインがわんさか入ってる。
アップデートボタンを押してもエラー。それはもう色んな種類のエラーが出る。
にっちもさっちもいかないので、まず使ってないプラグインを削除。
サイトのキャッシュを全削除。
data/cache以下削除、mtb_constants.phpは無かったら自動で再作成される。
data/Smarty/templates_c/各テンプレートフォルダ内を削除。
直接DBのdtb_pluginからプラグインのテーブルを削除し、FTPでdata/downloads/pluginにあるプラグインを削除。
使っているプラグインで対応していない、さらに削除出来ない!というものは、復元できるように設定をメモしてから、削除のち2.13に対応した最新版を再インストール。
最後に2.13に対応していないプラグインは、プラグイン自体を修正する。
2.12→2.13になった時に「function destroy()」が無くなったらしい。
これがプラグイン内に残っているので、コメントアウト。
するときちんと200 OKステータスが帰ってくる。うれしいね。
参考 (敬称略)