EC-CUBE 2.13.1 で「500 Internal Server Error」 大量の500エラー
EC-CUBE 2.13.1 で「500 Internal Server Error」 大量の500エラー
EC-CUBE 2.13.1 で「500 Internal Server Error」 大量の500エラー
1.発覚
リニューアルが終わり、「メンテナンス中」も外していよいよオープン。そんな時にいつもやっているのがsitemap.xmlを作成し、グーグルウェブマスターツールで登録する事。今回も、いつものようにsitemap.xmlを自動生成してくれるサイトにて処理を行ったところなんと「ERROR」発生。今まで一度もエラーになった事が無く、さてどうしたものかと。。。少しばかりググッてみたところ、sitemapの登録に関しては、EC-CUBEの場合rootにあるsitemap.phpを登録すれば良いとのことで事なきを得た。しかし、あのエラーは何だったのだろう・・・
2.再び現る
オープンし、sitemapの登録も終わったところでfacebookの[いいね][シェア]ボタンを押した時の文言や画像が切り替わっていない(前のサイトのまま)事に気が付いた。こんな時は「facebook Developers」の「Open Graph Debugger」を使います。こちらで対象のURLを入力し、【Debug】ボタンをクリックすると、前のサイトのままだったもの(キャッシュ)がクリアされ、新しく設定したものにかわる・・・はず?あれれ??こちらでも「Response Code 500」のエラーが!エラーで処理が進まないせいで、文言や画像が切り替わらない・・・困ったものだ、どうしよう。。。
3.調査開始
まずは手始めに、robots.txtや.htaccessファイルの中身を確認。他のECサイトと全く同じなのでここでは無い。
Winアプリでサイトをスクレイピング(ウェブページから情報を収集すること)できるソフトがあり、試しに『江戸切子通販ストア』を処理してみたところやはりここでも「500 Internal Server Error」が発生。
なので、調査対象をEC-CUBE内部に絞って調べ始めたと同時にグーグルで「ECCUBE 500エラー」で検索。
4.解決
内容を確認してみると「Ver2.12からVer2.13にバージョンアップした際function destroy()がなくなったとのこと。user_dataで作成されるページのfunction destroy()をコメントアウトしてみたらレスポンスコードが200になりました。」との事。早速自サイトも「function destroy()」をコメントアウト。バージョンアップの際消し忘れていたもの(バグ?)から2.13に無理やり突っ込んだ2.12対応のプラグインまで全てやってしまッた。(イプシロンモジュールまでやってしまったので後で確認してみないと・・・)
そうしたら、なんてことでしょう! 今までレスポンスコード500で止まっていたものが全て通るようになったではありませんか!!
5.参考
「ECCUBE 500エラー」で検索した際に発見したもう一つのサイト。こちら簡素ですが、時系列で書かれていたので自分の状況と重なり、とても共感できました。(プラグインの事はこちらを参考に致しました)
2.13系にされた方も相応にはおられるかと思いますが、
グーグル社のウェブマスターツールで大量の
レスポンスコード500のエラーが出ていることが
あります。
これ、何だと思いますか?
↓これです。
/* * デストラクタ. * * @return void / function destroy() { parent::destroy(); }
↑
これ、2.12系では使われていたのですが、
2.13系ではなくなりました。
表面的には何もおかしく見えないのですが、
ロボットにはアクセスできない状況になっています。
data/_default.php
と、
user_data/_default.php
の該当部分をコメントアウトするなりしてみてください。
それでも直らない場合は?
その他のLC_Page系に残っている可能性があります。
もちろん、プラグインも含めてです。
そこに残っているものをコメントアウトするなりすれば
解決するかと思います。
お役に立てば幸いです♪
Re: ウェブマスターツールで大量の500エラー
既に実施されているとは思いますが、以下を試してみてください。
1.パラメータ設定の「USER_DEF_PHP_REALFILE」の内容を「DATA_REALDIR . “__default.php"」にしてください。
2.ダウンロードしてきた2.13系EC-CUBEの「data/default.php」を同じフォルダにアップロードしてください。 ※html/user_data/default.php にではありません。
3.上記でダメでしたら、html/user_data/__default.php の方を置き換えてみてください。
1,2で改善できず、3を実施してうまくいった場合には、 パラメータ関連のバージョンアップに失敗している可能性があります。
パラメータ設定画面の設定内容と、data/cache/mtb_constants.php の内容が 一致しているか確認した方がよいと思います。
内容が一致しておらず、パラメータ設定画面の「この内容で登録する」を一度も 押したことがないようでしたら、一度クリックすれば反映されるはずです。