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 の内容が
一致しているか確認した方がよいと思います。

内容が一致しておらず、パラメータ設定画面の「この内容で登録する」を一度も
押したことがないようでしたら、一度クリックすれば反映されるはずです。

 

 

eccubeorg

http://www.eccube.org

You may also like...

2 Responses

  1. eccubeorg より:

    Eccube2.13.1で

    /**
    * デストラクタ.
    *
    * @return void
    */
    function destroy() {
    parent::destroy();
    }

    下のページで 上記のコードを削って、解決しました。

    /data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore_PluginHookPointList.php

    /data/class_extends/page_extends/admin/ownersstore/LC_Page_Admin_OwnersStore_PluginHookPointList_Ex.php

    /data/downloads/plugin/AccessControlSpMb/LC_Page_Plugin_AccessControlSpMb_Config.php

    /data/downloads/plugin/MakerBlock/LC_Page_FrontParts_Bloc_Maker.php

    /data/downloads/plugin/MakerShelfRegistration/LC_Page_Plugin_MakerShelfRegistration_Config.php

    /data/downloads/plugin/PriceRangeListBlock/

    /data/downloads/plugin/PriceRangeListBlock/LC_Page_Plugin_PriceRangeListBlock_Config.php

    /data/downloads/plugin/PriceRangeListBlock/class/plg_PriceRangeListBlock_LC_Page_FrontParts_Bloc.php

    ありがとうございます。

  2. 青嶋 より:

    Eccube2.13.1で

    /**
    * デストラクタ.
    *
    * @return void
    */
    function destroy() {
    parent::destroy();
    }

    下のページで 上記のコードを削って、解決しました。

    /data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore_PluginHookPointList.php

    /data/class_extends/page_extends/admin/ownersstore/LC_Page_Admin_OwnersStore_PluginHookPointList_Ex.php

    /data/downloads/plugin/AccessControlSpMb/LC_Page_Plugin_AccessControlSpMb_Config.php

    /data/downloads/plugin/MakerBlock/LC_Page_FrontParts_Bloc_Maker.php

    /data/downloads/plugin/MakerShelfRegistration/LC_Page_Plugin_MakerShelfRegistration_Config.php

    /data/downloads/plugin/PriceRangeListBlock/

    /data/downloads/plugin/PriceRangeListBlock/LC_Page_Plugin_PriceRangeListBlock_Config.php

    /data/downloads/plugin/PriceRangeListBlock/class/plg_PriceRangeListBlock_LC_Page_FrontParts_Bloc.php

    ありがとうございます。