EC-CUBE2系インストール時の注意事項
この度必要に迫られEC-CUBE2系のインストールを行ったのですが、その時発生したエラーの対処法について記載します。
インストール環境
OS:CentOS6.9
PHP:5.6.31
mysql:5.7.19
EC-CUBE2.13.5
インストール手順
こちらを参照しながらインストールしました。
※ファイルの設置場所は下記の通り
フィアル設置場所
/var/www/html/eccube2/html/
/var/www/html/eccube2/data/
※データは本来非公開領域に置くべき。ローカルの動作確認なので、このままとした。
URL
http://IPアドレス/html/
エラー発生場所
上記URLの「6.位ストール開始」の5.データベースの設定の後、「次へ進む」ボタンを押下した後、画面遷移しますが、画面が真っ白(cromeの場合はこのページは表示出来ません)が表示されます。
この時、エラーログを確認して見てください。
cd /var/log/php
tail php_error.log
そうすると下記のようなエラーが吐き出されていると思います。
[03-Feb-2018 22:36:48 Asia/Tokyo] PHP Fatal error: DB処理でエラーが発生しました。
SQL: [SET SESSION storage_engine = InnoDB]
MDB2 Error: unknown error
_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_108f603511684fdc166e58ef73fd01673fb59a109 FROM 'SET SESSION storage_engine = InnoDB']
[Native code: 1193]
[Native message: Unknown system variable 'storage_engine']
in /var/www/html/eccube2.13.5/data/class/SC_Query.php on line 1095
[03-Feb-2018 22:36:48 Asia/Tokyo] PHP Stack trace:
上記のエラーが吐き出さている場合、下記のファイルを修正してみて下さい。
/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.phpの363行目
$objQuery->exec('SET SESSION storage_engine = InnoDB');
↓
$objQuery->exec('SET SESSION default_storage_engine = InnoDB');
この対処後、インストールを最初からやり直すと正常にインストール出来るようになると思います。
なお、この対処方法はこちらのページを参照させて頂きました。
先人の情報に感謝しつつ記載させていただきました。