[[EC-CUBEめも]] EC-CUBE3.0.x系からカスタマイズの学習コストの低下を目指すなどの目的で3.n系のリリースが計画されています。 2018年04月27日にEC-CUBE 3.n α5が公開されたので、インストールしてみました。~ https://www.ec-cube.net/news/detail.php?news_id=297 *そもそもComposerが光遅い [#h177625d] インストールにはComposerが必要となります。~ コマンドラインにてインストールを試みますが、タイムアウトして先に進むことができません。 $ php /usr/local/bin/composer.phar create-project ec-cube/ec-cube ec-cube "dev-experimental/sf" Installing ec-cube/ec-cube (dev-experimental/sf 318be27eb028b6fa515ed1e80645fed1ce173b87) - Installing ec-cube/ec-cube (dev-experimental/sf experimental/sf): Cloning experimental/sf Failed to download ec-cube/ec-cube from source: The process "git clone --no-checkout 'https://github.com/EC-CUBE/ec-cube.git' 'ec-cube/' && cd 'ec-cube/' && git remote add composer 'https://github.com/EC-CUBE/ec-cube.git' && git fetch composer" exceeded the timeout of 300 seconds. まずはComposerの実行速度改善に取り組みます。~ 改善方法は3点ほどありそうです。 **packagistがネットワーク的に遠い [#w6c6c275] ミラーサーバを国内のものへ変更します。 $ /usr/local/bin/composer.phar config -g repos.packagist composer https://packagist.jp 戻す場合は、 $ /usr/local/bin/composer.phar config -g --unset repos.packagist **Composerプラグインの導入 [#zf274267] Keep-Alive対応や並列処理に対応するため、prestissimoプラグインを入れます。~ https://github.com/hirak/prestissimo $ /usr/local/bin/composer.phar global require hirak/prestissimo アンインストールするには、 $ /usr/local/bin/composer.phar global remove hirak/prestissimo **タイムアウト時間を延ばす [#d4e5ff2a] デフォルトは300秒なので、適当に延ばします。 $ export COMPOSER_PROCESS_TIMEOUT=1800 結局、またもやタイムアウトしたので、断念…。 *ZIPファイルからインストール [#r1021e09] 以下から 3.n-alpha5.zip ファイルをダウンロードし、public_html以下に展開します。~ https://github.com/EC-CUBE/ec-cube/releases/tag/3.n-alpha5 $ cd public_html $ /usr/local/bin/composer.phar install $ bin/console eccube:install 対話形式でインストールが進むので、Database Url入力時に使用したいデータベースに応じて入力します。~ データベース作成権限があれば事前に作成しておく必要は無さそうです。 # MySQLの場合 mysql://<user>:<password>@<host>/<database name> # PostgreSQLの場合 postgres://<user>:<password>@<host>/<database name> [OK] EC-CUBE installation successful. *セッションデータが作成できずにエラー [#i0afcdcc] インストールが完了し、ブラウザにてアクセスすると500エラーが発生。 Warning: SessionHandler::read(): Session data file is not created by your uid セッションファイルは var/sessions/ 以下に生成されます。~ ちなみにログは var/log/ 以下です。 セッションのsave_pathを変更する場合は以下のファイルを変更します。~ app/config/eccube/packages/framework.yaml framework: secret: '%env(ECCUBE_AUTH_MAGIC)%' default_locale: '%locale%' translator: fallback: ['%locale%'] csrf_protection: { enabled: true } http_method_override: true trusted_hosts: ~ # https://symfony.com/doc/current/reference/configuration/framework.html#handler-id session: handler_id: session.handler.native_file #save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%' save_path: '/tmp' *EC-CUBE3.0.x系からの変更点 [#y676b59d] 気がついた分について列挙してみます。 **全体の変更点 [#r56a36fb] -index_dev.php が無くなった~ .env ファイルの APP_ENV が dev であればツールバーが表示されます。~ リリース時は prod に変更するようです。 **フロントの変更点 [#h839612b] -郵便番号検索がボタンを押さずに自動的に住所が入力されるようになった **管理画面の変更点 [#h36abe86] -フレームワークがSilexからSymfonyへ変更になった(3.n-α4) -UIが変わった -言語を切り出し -通貨切り替え