最近の新しいサーバでEC-CUBE2系がうまくいかないとき
EC-CUBEの3系が浸透してきてからは2系が、 各種レンタルサーバーのクイックインストールから 案内が消えていますが… まだまだ弊社ではEC-CUBEの2系が現役で、 インストールしたり保守したりしています。
そこで最近の新しいサーバに2系をインストールしようとしたところ、 画面が真っ白に…ということがありました。 自分の会社では基本的にXserverを利用しておりますので、その前提で…。
これは原因は三つあって(場合によっては二つかも)
- Xserverでは標準でPHPのバージョンが7を採用してる
- 接続するMySqlのバージョンが不釣り合い
- EC-CUBEに入っている.htaccessが邪魔をしている というのが上手くいかない原因です。
Xserverでは標準でPHPのバージョンが7を採用してる
これは結構簡単なことですが、ヒントが少ないのでハマりポイントのひとつです。 EC-CUBEの2系はPHP5.6までしか対応できていないので、 PHP7だと完全に動きません。https://www.ec-cube.net/news/detail.php?news_id=290 ↑のように、PHP7に対応したバージョンもリリースされているようですが、 アルファーバージョン(テスト段階)ですので、 実際にクライアントワークではあまり使えないと判断しています。 なので、サーバのPHPのバージョンを7から5.6まで下げざるを得ません。 レンタルサーバだったらコントロールパネルからすぐに設定が見つかると思います。
接続するMySqlのバージョンが不釣り合い
難しいことはわかりませんが、データーベースへ接続する際に、 バージョンによってプログラムが少し違うようです。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=16981&forum=2 ↑の投稿のように、本体プログラムにすこし手を加えてあげないといけません。
/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php または /data/class_extends/db_extends/dbfactory/SC_DB_DBFactory_MYSQL_Ex.php
EC-CUBEに入っている.htaccessが邪魔をしている
サーバによると思いますが、EC-CUBEのファイルの中に標準で入っている html/.htaccessが動作を邪魔している可能性があります。 そういうときは思い切ってそのファイルを削除すると上手くいきます。 そもそも念のために...という感じで入っているのでほとんどの場合問題が無いはずです。 またhtmlフォルダ直下以外の.htaccessは削除されない方がよいです。
間が空くと忘れてしまうので、これで忘れないはず…。