EC-CUBE4

[EC-CUBE4]インストール後にbin/console server:runが実行できなくなる


環境


  • Ubuntu 18.04

  • PHP 7.2

  • MySQL 5.7

  • EC-CUBE 4.0.2 ( 基盤としているSymfonyは3.4.22 )


背景

モダンなフレームワークは大半がサポートしていますがEC-CUBE4(が利用しているsymfonyフレームワーク)には開発用途のビルトインウェブサーバがあります。これを使えば、本格的なWebサーバを設置しないでもクイックに開発がすすめられます。

EC-CUBEのパッケージを公式サイトからダウンロードして、ルートディレクトリ直下でbin/console server:runで実行が開始されて、http://127.0.0.1:8000でアクセスできます。(Ctrl+Cで終了)


問題

インストールが完了後、一度、終了するとこのコマンドが利用できなくなります。エラー内容は以下です。

There are no commands defined in the "server" namespaces

参考として画面も。


対処

インストール後にルートディレクトリ直下に作成される.env内のAPP_ENVの値をprodからdevに変更することで実行できるようになります。

APP_ENVはsymfonyが管理する定義のようですが、こういった挙動は常識なんですかね???

How to Master and Create new Environments (Symfony Docs)


所感

EC-CUBE4、2日間かかって、いまだに開発環境が構築できません。主な罠は以下。

心が折れそうです。。。(T_T)


  • インストーラの(PHP拡張モジュールの有無に関する)誤った警告 ← 次のエラーと関係あるんじゃないか?と思って調査に時間を要した

  • プラグインインストール時の一貫性のないエラー(しかもときどき成功する)

  • システム要件にPHP7.1以上と書かれているがPHP7.3ではcomposerエラー発生

  • インストール後にビルトインウェブサーバが利用できなくなる(本件)

  • インストール方法の違い(Composer利用とパッケージ利用)で、インストール後のディレクトリ構成が異なる。←気持ち悪い

その他、調査に時間を要したものとして以下など。


  • SESでメール送信するための設定方法の調査

  • 拡張ライブラリをインストールするためのコマンド