it0LinkedIn-B!Hatena0Pocket0LINESendLINESendCopy-EC-CUBE:2.13.3をインストールしたところ、下記のようなエラーが発生しました。DB処理でエラーが発生しました。InnoDB]グッグるで調べたら、いくつの解決策がありますが、それでこちらの問題を解決してなかったので、自力で調査&対応しました。Contents0.前提1.直ぐにエラーの発生場所を見つけた2.またエラーが発生した3.またエラーが発生した(2回目)4.最後にスポンサーリンク0.前提システム要件は下記の通りです。今回エラーを発生させた要件はEC-CUBEバージョンとDBバージョンと思います。5.0.771.直ぐにエラーの発生場所を見つけた「eccube\class\db\dbfactory\SC_DB_DBFactory_MYSQL.php」ファイルの363行辺り、SC_Queryでの初期化時に下記の実装がありました。5.0はstorage_engineのInnoDBをサポートしているのに、前述のエラーが発生したのは不思議ですね。レンタルサーバーのDB環境の設定を確認したところ、storage_engineにInnoDBがない!!!!MyISAMがありますので、下記の実装を修正しました。'STRICT_TRANS_TABLES'");2.またエラーが発生した万歳!解決!と思いきや、進むボタンを押したら、またエラーが発生しました。今度はエラーメッセージがない!!どうしよう~~誰かが助けて~~~誰でも返事してくれなかったので、自力で解決しました。「eccube\install\index.php」ファイルの868行辺りに、上記と同じような実装がありました。それを上記と同じように修正すれば、直るはずと信じていました。'STRICT_TRANS_TABLES'");3.またエラーが発生した(2回目)今度こそ、解決!!シャンパンを開けた瞬間に、体が固まった。表示されましたので、こんな時に、エラーログの登場です。「eccube\html\install\temp」の下に、インストールログ(install.log)を開き、一番下に下記のエラーメッセージが出力しました。column_name(255))のところです。調べたら、MySQLのstorage_engineがMyISAMの場合、インデックスの長さは1000バイトだそうです。1530bytesで計算したら、軽く1000bytesの制限を超えますよね。普通にテーブル名やカラム名は英字で定義されるなので、450bytes十分ではないかと思って、適当に150に変更しました。「eccube\html\install\sql\create_table_mysql.sql」ファイルの1172行辺り、下記のように修正して、進むボタンを押したら。動作確認したところ、特に問題なかった!!ソースを改修せずに、問題を解決したほうが良いと思いますが、今回の原因は誰の責任だろうと思って、eccube2.13系の要件を確認したところ、InnoDBを明記してなかったです。タダなので、まあいいや。メルマガ配信日時指定(予約配信)eccube3からメルマガ機能をプラグインとして提供しました。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。テスト・運用、WEBアプリケーションの工程を数回、回ってきた40代のSEです。自称スーパーマンですが、実際は弱いです。