EC-CUBE4系ではログイン・カート商品の維持にセッションの機能が利用されています(4系では商品データ自体はデータベースに持つようになりました)。
このセッションがデフォルトではブラウザを閉じた時点で切れる=「次回から自動的にログインする」にチェックしていない限りログアウトしてしまうようになっているため、延長する方法をご紹介します。
セッション持続時間の仕組み
セッションの持続時間にはCOOKIE_LIFETIMEとGC_MAXLIFETIMEが影響します。
COOKIE_LIFETIMEはブラウザー側のクッキーの保持時間、GC_MAXLIFETIMEはサーバー側のセッションデータの保持時間です。
デフォルトではapp/config/eccube/packages/eccube.yamlファイルによって、COOKIE_LIFETIME=0 , GC_MAXLIFETIME=1440に指定されています。
COOKIE_LIFETIMEが0になっているため、ブラウザを閉じた時点でセッションは切れてしまいます。
どのファイルで設定を変更できるのか?
この時間を伸ばすにはEC-CUBEをインストールしたディレクトリに存在する「.env」というファイルを修正して設定を上書きします。
.envファイルの最後に下のように秒数を追記することでセッションが1ヶ月有効になります。
ECCUBE_COOKIE_LIFETIME=2592000
ECCUBE_GC_MAXLIFETIME=2592000
EC-CUBE4ですぐにログアウトしてしまうという方はぜひお試しください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。