Часто возникает вопрос, как в Yii можно хранить сессию в БД? Разработчики уже обо всем позаботились. Для этого необходимо лишь сконфигурировать компонент session, следующим образом.
'session'=>array(
'class'=>'system.web.CDbHttpSession',
'connectionID'=>'db',
),
Есть один момент, данный класс по умолчанию всегда пытается создать таблицу для хранения сессии. Для того чтобы этого не происходило, надо параметр autoCreateSessionTable установить в false, а таблицу создать самому.
CREATE TABLE YiiSession (
id CHAR(32) PRIMARY KEY,
expire INTEGER,
data TEXT
)