PDA

View Full Version : yii session in db



mohsen_31369
جمعه 15 دی 1391, 12:49 عصر
سلام
من این مقاله (http://www.larryullman.com/2011/05/03/using-sessions-with-the-yii-framework/) رو برای ذخیره ی session در دیتابیس خوندم
ولی بعد از این کار وقتی شخصی لاگین میشه سسشن های قبل از لاگین پاک می شوند.

rezaonline.net
شنبه 16 دی 1391, 08:44 صبح
مدت زمان سسشن رو به درستی تنظیم کرده اید ؟

mohsen_31369
شنبه 16 دی 1391, 11:52 صبح
ببین وقتی این کد رو تو فایل کانفیگ می ذارم تا سسشن رو تو دیتابیس ذخیره کنه این مشکل پیش میاد. ولی اگر این کد رو بردارم درست میشه


'session' => array (
'class' => 'system.web.CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' => 'actual_table_name',
),

ولی من می خوام سسشن رو تو دیتابیس ذخیره کنم.
فکر نمیکنم به خاطر زمان انقضا باشه چون مقدار پیش فرض timeout در کلاس CHttpSession برابر 1440 ثانیه می باشد

rezaonline.net
شنبه 16 دی 1391, 13:16 عصر
'session' => array (
'class' => 'system.web.CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' => 'session',
'timeout'=> 7200 ,
) ,

mohsen_31369
شنبه 16 دی 1391, 13:36 عصر
سلام
کار نمی کنه.

rezaonline.net
شنبه 16 دی 1391, 20:59 عصر
دیتابیست چیه ؟
mysql or sqlite ?

mohsen_31369
شنبه 16 دی 1391, 21:39 عصر
دیتابیسم mysql
خودت سسشن رو تو db ذخیره می کنی این مشکل برات پیش نمیاد

bestirani2
یک شنبه 17 دی 1391, 00:04 صبح
دیتابیسی رو که مشخص میکنی به همراه فیلدهاش ساختی ؟

rezaonline.net
یک شنبه 17 دی 1391, 09:13 صبح
خودکار ساخته میشه در صورت نبود .

rezaonline.net
یک شنبه 17 دی 1391, 09:16 صبح
شما چک کن ببین واقعا سسشن پاک میشه یا نه .
حدس میزنم مشکل از کوکی باشه .

mohsen_31369
یک شنبه 17 دی 1391, 22:02 عصر
شما چک کن ببین واقعا سسشن پاک میشه یا نه .
حدس میزنم مشکل از کوکی باشه .

منظورت رو از کوکی نمی فهمم. من که با کوکی کار نمی کنم !

bestirani2
دوشنبه 18 دی 1391, 00:54 صبح
خودکار ساخته میشه در صورت نبود .

بعضی وقتها بسته به تنظیماتی که انجام میشه ساخته نمیشه
میتونه دیتابیسش رو چک کنه ببینه هست یا نه؟

bestirani2
دوشنبه 18 دی 1391, 01:02 صبح
دیتابیستون رو چک کنید ببنید موجود هست یا نه
اگه نبود
autoCreateSessionTable دستی برابر true بگذارید و یا دستی اضافه کنید

CREATE TABLE YiiSession
(
id CHAR(32) PRIMARY KEY,
expire INTEGER,
data BLOB
)

mohsen_31369
دوشنبه 18 دی 1391, 13:16 عصر
سلام
جدولش درست شده.
اگه نبود که لاگین انجام نمی شد.
بعد لاگین هم سسشن ها درست کار میکنن ولی سسشن های قبل از لاگین پاک می شوند

mohsen_31369
دوشنبه 18 دی 1391, 15:30 عصر
مشکل رو فهمیدم

اصلا حواسم نبود به جای اینکه از کلاس CDbHttpSession برای ایجاد سسشن استفاده کنم از کلاس CHttpSession استفاده می کردم.

باتشکر از تمامی دوستان که در این تایپیک منو راهنمایی کردن.

rezaonline.net
دوشنبه 18 دی 1391, 16:31 عصر
پیرمرد :اشتباه: