EC-CUBE 4.2.2 のインストールを何度も試みるが一度も成功しない。ハマりの末、成功法を見出したので備忘録。
インストール成功時 環境は
EC-CUBE 4.2.2
php 7.4.33
MySQL 8.0.33
composer 2.5.8
symfonyコマンドバージョン 5.5.7
作業前準備として
が必要。
- composer でEC-CUBEプロジェクト作成
$ composer create-project --no-scripts ec-cube/ec-cube ec-cube-42 "4.2.x-dev”
ここで、ec-cube-42 はプロジェクトを作成するディレクトリ名、–no-scripts オプションは今回データベースにMySQLを利用したいために付ける。(–no-scripts なしだと自動的に初期データがSQLite3にインストールされた状態になる。)
2. 作成された ec-cube-42 ディレクトリに移り、初期化コマンドを実行する。
$ php bin/console eccube:install
いろいろと聞いてくるので答えていく。特に、
Database Url [sqlite:///var/eccube.db]:
と聞いてきた時に、sqlite以外を使いたい場合は指定する。
このコマンドによって、データベースに初期データが入力され、.envが書き換わるようである。
3. EC-CUBEの実行
ここで、公式にあるとおり
$ php bin/console server:run --env=dev
としても、EC-CUBE4.2系では元となるsymfonyバージョンが新しくなったからなのか
You may be looking for a command provided by the "Debug Bundle" which is currently not installed. Try running "composer require symfony/debug-bundle --dev".
のエラーとなる。メッセージどおり composer require symfony/debug-bundle –dev を試すも、今度は別のエラーが出て埒が明かない。ここが今回の大ハマりポイントであった。ここで
$ symfony server:start
すると
[OK] Web server listening
The Web server is using PHP CLI 7.4.33
https://127.0.0.1:8000
となり、問題なくEC-CUBEが起動!