EC-CUBE4を試行錯誤しながらWindows xamppにインストールしました。
EC-CUBEのカスタマイズや、HTMLにPHPプログラムを組み込みされる方ならば、開発環境として修正がダイレクト反映されるローカルサイドでやりたいものです。その手段として私はwindows xamppを使用しています。
今回、EC-CUBE4のオリジナルデザインをテンプレートに組み込むにあたり、xampp環境で組むほうが効率が良いと思い、xamppにEC-CUBE4をインストールしてみました。
今までのEC-CUBEとは異なり、手間がかかったので忘備録として残します。
EC-CUBE4の必要環境
EC-CUBE4の動作環境を調べてみると、主だったものに以下指定がありました。
- PHP7.1以上
- MYSQL 5.6以上
MYSQL5.6以上は問題なさそうですが、PHP7.1以上は、最近のxamppでなければ対応していません。現在使っているxamppは対象バージョンであったのでそのまま使用します。
あと、レンタルサーバーの場合は大抵気にしなくてもよいのですが、windows環境のxamppだとComposer が必要になります。Composerの導入方法は、こちらのページを参考にしました。「XAMPP 環境に Composer をインストールするときに The PHP exe file you specified did not run correctly エラー」
初手からインストール画面が表示されない。
xamppドキュメントフォルダーにEC-CUBE4正式版をコピーし、ブラウザから/index.phpにアクセスしてみたところ、何も動かず、以下のような表示になりました。
原因がよくわからず、手持ちのレンタルサーバーでやってみたところ、インストール画面が表示されたので、xampp側の設定の問題のようでした。
いろいろ悩んだのですが、EC-CUBE4にはカレントフォルダに[ /install/] フォルダがないことに気づき、.htaccessで[ /install/ ]フォルダのパスをあてがっているのではないかと思いました。
xamppはデフォルトでは.htaccessが有効になっていますが、私は本番環境用の.htaccessがその都度反応することが煩わしかったので.htaccessをオフにしていました。
なので、httpd.confファイルを開き、.htaccessを有効にしました。
DocumentRoot の設定内を修正
AllowOverride None → AllowOverride All
.htaccessを有効にすると、インストール画面が表示されるようになりました。
インストール画面が表示されたけれどもまだ足りず
インストールをしようと思ったところ、今度はEC-CUBE4の動作条件を満たしていない旨のエラーがでました。
「intl拡張モジュールが有効になっていません」
というエラーメッセージがでていました。
これは、xampp のphp.ini ファイルを「intl」で検索すると設定箇所が見当たります。
;extension=intl
となっている1行が見つかるので、コメントをはずし、
extension=intlとします。
エラーがはずれました。
今度はタイムアウトエラー。
インストールができるようになったので、進めていくとデータベースの初期化部分で以下のエラーが発生しました。
一見焦る感じのエラー表示ですが、エラーメッセージをよく読んでみると「time of 30 seconds exceeded」とあるので、単純なタイムアウトエラーでした。
xamppは比較的動作が遅い傾向があるので、タイムアウトが出やすいのでしょう。php.iniファイルの max_execution_time設定を30→120に変更します。
試行錯誤の上ようやくインストール完了
EC-CUBE4をインストールするだけの作業でしたが、windows上のローカル環境では思ったよりモジュールや設定が必要で、一筋縄ではいかない感じでした。
それでも、windowsのxamppでEC-CUBE4の正式版がインストールできることを確認できました。
これからテンプレート等組み込みの検証です。