環境
- 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でメール送信するための設定方法の調査
- 拡張ライブラリをインストールするためのコマンド