質問 > その他 > session_start(): Failed to decode session object. Session has been destroyed... というエラーでセッションが切れます。 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
GEARCODING |
投稿日時: 2018/2/9 23:45
対応状況: 開発中
|
新米 登録日: 2018/2/9 居住地: 投稿: 3 |
session_start(): Failed to decode session object. Session has been destroyed... というエラーでセッションが切れます。 [EC-CUBE] 2.13.5 新規インストール
[レンタルサーバ]XServer [PHP] 5.6.28 [データベース] MySQL 10.1.19-MariaDB [WEBサーバ] Apache/2.4.23 (Win32) [導入プラグインの有無] なし [カスタマイズの有無] セッション周りはカスタマイズなし [現象] 【症状】 マイページと管理画面両方に同時にログインするとセッションが切れる。 エラーログは以下の通りです。 2018/02/09 22:47:42 [/ec/manage/customer/index.php] Warning(E_WARNING): session_start(): Failed to decode session object. Session has been destroyed on [\data\class\sessionfactory\SC_SessionFactory_UseCookie.php(53)] from ::1 【原因】 セッション情報にマルチバイト文字が含まれているとこの現象が発生する様です。 ▼参考 https://qiita.com/milano/items/a65b474a95403342ec1b 上記サイトでは、セッションのテーブルの文字コードをutf8にするとあります。 しかし、EC-CUBE2では元々文字コードはutf8、照合順序はutf8_general_ciになっています。 【補足】 念のため以下の対応は済ませています。 dtb_sessionとdtb_order_tempのsessionが入るカラムのデータ型をtextからlongtextに変更。 セッション情報が大きいとデータベースに格納しきれないので、データ型を変更しました。 本件について情報をお持ちの方はいらっしゃいませんでしょうか。 よろしくお願いいたします。 |
GEARCODING |
投稿日時: 2018/2/10 21:15
対応状況: 解決済
|
新米 登録日: 2018/2/9 居住地: 投稿: 3 |
解決しました。 本件につきまして、解決しました。
原因は、MySQLの接続を一度切断してしまっていたからでした。 既存モジュールを流用していたため、EC-CUBEのDB機構とは別でmysql_connect()・mysql_close()を使っている箇所がありました。 そして、mysql_close()をした後でEC-CUBEのDB機構のSC_Query_Ex::getSingletonInstance()を呼び出すと、DB書き込み時の文字コードがおかしくなっていました。 私が記載した質問にヒントが無い、とてもムチャ振りな問いかけでございました。 この度は本当にありがとうございますm(_ _)m |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |