سلام
من این مقاله رو برای ذخیره ی session در دیتابیس خوندم
ولی بعد از این کار وقتی شخصی لاگین میشه سسشن های قبل از لاگین پاک می شوند.
سلام
من این مقاله رو برای ذخیره ی session در دیتابیس خوندم
ولی بعد از این کار وقتی شخصی لاگین میشه سسشن های قبل از لاگین پاک می شوند.
مدت زمان سسشن رو به درستی تنظیم کرده اید ؟
ببین وقتی این کد رو تو فایل کانفیگ می ذارم تا سسشن رو تو دیتابیس ذخیره کنه این مشکل پیش میاد. ولی اگر این کد رو بردارم درست میشه
'session' => array (
'class' => 'system.web.CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' => 'actual_table_name',
),
ولی من می خوام سسشن رو تو دیتابیس ذخیره کنم.
فکر نمیکنم به خاطر زمان انقضا باشه چون مقدار پیش فرض timeout در کلاس CHttpSession برابر 1440 ثانیه می باشد
'session' => array (
'class' => 'system.web.CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' => 'session',
'timeout'=> 7200 ,
) ,
سلام
کار نمی کنه.
دیتابیست چیه ؟
mysql or sqlite ?
دیتابیسم mysql
خودت سسشن رو تو db ذخیره می کنی این مشکل برات پیش نمیاد
دیتابیسی رو که مشخص میکنی به همراه فیلدهاش ساختی ؟
خودکار ساخته میشه در صورت نبود .
شما چک کن ببین واقعا سسشن پاک میشه یا نه .
حدس میزنم مشکل از کوکی باشه .
دیتابیستون رو چک کنید ببنید موجود هست یا نه
اگه نبود
autoCreateSessionTable دستی برابر true بگذارید و یا دستی اضافه کنید
CREATE TABLE YiiSession
(
id CHAR(32) PRIMARY KEY,
expire INTEGER,
data BLOB
)
سلام
جدولش درست شده.
اگه نبود که لاگین انجام نمی شد.
بعد لاگین هم سسشن ها درست کار میکنن ولی سسشن های قبل از لاگین پاک می شوند
مشکل رو فهمیدم
اصلا حواسم نبود به جای اینکه از کلاس CDbHttpSession برای ایجاد سسشن استفاده کنم از کلاس CHttpSession استفاده می کردم.
باتشکر از تمامی دوستان که در این تایپیک منو راهنمایی کردن.
پیرمرد