EC-CUBE::多数注文中にカートが空になる

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環境で若干の日本語文字を含みます。

WordPress::ログインユーザのパスワードを忘れてしまった時の対処法

たま~にやっちゃう。パスワード忘れ。
そんな時には次の方法で対処します。

mysqlでパスワードを強制的に上書きする方法です。

update wp_users set user_pass=md5('newpassword') where id=xxx;

newpasswordの部分を書き換えて、idの「xxx」を該当ユーザのidを指定しましょう。