EC-CUBE内のファイルの操作をFTP等で行っている時セッションに関するエラー(Warning)が出る場合があります。

Warning: SessionHandler::read(): Session data file is not created by your uidについてご紹介致します。

このエラーはセッションファイルの所有者が変わってしまったために起こる警告です。セッションファイルなんてさわっていないと思うはずなのですが、EC-CUBEでは実はセッション維持のためのファイルをapp/cache/eccube/sessionというディレクトリに保存しています。

なのでappディレクトリの所有者を再帰的に変更するとこのWarningが発生します。解消方法として、開発環境であれば中のファイルを全て削除してしまって問題ないでしょう。

cacheディレクトリにセッションファイルを保管るのは若干違和感があるという方は、保管場所として別の場所を指定しておいたほうが良いかもしれません。

あるいはWordPressがそうであるように、MySQLなどデータベースに保管することも当然検討すべきかと思います。セッションファイルを消したりエラーになると全ユーザーのカートの情報や注文しようとしている内容が全て消えてしまうということも起こるのでご注意ください。

関連するカスタマイズ

ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...
Composer is not installed. と表示される原因と解決方法... 新しくインストールしようとしてGitからソースを持ってきた時に画面上にComposer is not installed. だけ表示される場合がよくあります。 vendor配下のライブラリはgitignoreするのが一般的なので、git cloneしたソースに/vendor/ディレクトリが存在...
decimalタイプのオプション、precisionとscaleとは?... テーブルの定義ファイル(dcm.yml)を見てみると、price02やtaxなど金額関係のカラムにはdecimal型が使われていることが分かります。 ProductClass.dcm.ymlには下記のように記載があります。 他のカラムの定義には見かけないprecisionとsca...
チェックボックスのフォームでTransformationFailedException expec... FormType内のチェックボックス(CheckboxFormType)のお話です。チェックボックスのFormTypeにintやsmallintのカラムを割り当てた場合TransformationFailedExceptionが発生します。 EC-CUBEのフレームワークではチェックボックスはbo...