MySQLを利用したEC-CUBEサイトで件名の不具合が出るようです。
原因はdtb_session.sess_dataの型がtextになっていて、文字列が足りなくなったために起こるようです。
EC-CUBEはsessionデータをDBで保存しており、serializeしたsessionデータを保存しています。
対策としては次のコードを実行する。
alter table dtb_session change sess_data sess_data longtext;
MySQLの仕様を確認したところ、文字列の長さは次の通り
text | longtxt |
---|---|
65,535byte | 4,294,967,295(4G) |
私の環境では65kどころか1k程度でセッションが途切れてました。
writeする前に既に文字が途切れていた節もあって、この対応ですべて片付くかは微妙な所。
ひとまずこの対応で様子見をしてみます。
※SC_Helper_Session.sfSessWrite()の第2引数「$sess_data」がわたって来た時点で途切れていた。
※UTF-8環境で若干の日本語文字を含みます。