[[EC-CUBEめも]]

#contents

2018年8月6日にEC-CUBE 4.0-betaがリリースされました。~
こちらのインストールについては[[こちら>EC-CUBE4系のインストール]]をご参照下さい。

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]

-フレームワークがSilexからSymfonyへ変更になった(3.n-α4から)

-index_dev.php が無くなった~
.env ファイルの APP_ENV が dev であればツールバーが表示されます。~
リリース時は prod に変更するようです。

-テンプレート以外もプラグインを作成せずにカスタマイズ可能となりました。~
http://doc3n.ec-cube.net/spec_directory-structure

-プラグインの仕様変更~
ServiceProviderの廃止、マイグレーションの変更、フックポイントの非推奨化などが行われています。~
http://doc3n.ec-cube.net/plugin_spec

**フロントの変更点 [#h839612b]

-郵便番号検索がボタンを押さずに自動的に住所が入力されるようになった~
YubinBangoが使用されています。~
https://github.com/yubinbango/yubinbango

**管理画面の変更点 [#h36abe86]

-UIが変わった~
見た目が変わりました。

-言語を切り出し~
.envファイルのECCUBE_LOCALEを変更することで言語を切り替えることが可能です。~
アクセスされるブラウザによって自動的に判定したり、selectボックスで切り替えるといったことはできなさそうです。~
読み出されるファイルは日本語の場合以下になります。~
src/Eccube/Resource/locale/messages.ja.php

-通貨切り替え~
.envファイルのECCUBE_LOCALEとECCUBE_CURRENCYを変更することで通貨を切り替えることが可能です。~
為替レートの反映や計算には対応しておらず、フロント側で通貨を切り替えることもできなさそうです。

-タイムゾーン切り替え~
.envファイルのECCUBE_TIMEZONEを変更することでタイムゾーンの切り替えが可能です。~
それに伴いデータベースに保存される日時はUTCとなり、取得時に設定しているタイムゾーンに変換されるようです。

*考察 [#mba926d6]

.envファイルの変更で言語と通貨の切り替えは可能になっているが、これを越境ECとして多言語化対応と言えるかは微妙な印象。~
各社からリリースされるであろう決済プラグイン次第で対応が変わって来そう。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS