Chttpsession Теряется Сессия

работаю с сессиями через CHttpSession

почему-то стала пропадать сессия.

даже тяжело сейчас объяснить что происходит

в общем, есть 2 страницы

  1. на первой я сохраняю значение

  2. перехожу на следующую страницу и получаю его там, но ничего не приходит

set/get работает через эти статические методы




    public static function setData($key, $data) {

        $session = new CHttpSession;

        $session->sessionID = Yii::app()->session->getSessionID();

        $session->open();

        $session->add($key, $data);

        $session->close();

    }


    public static function getData($key) {

        $session = new CHttpSession;

        $session->sessionID = Yii::app()->session->getSessionID();

        $session->open();

        return $session->itemAt($key);

    }



работает стабильно уже несколько лет, но вот в facebook приложениях часто дает сбой

даже не знаю куда копать, в логах ничего релевантного нет

вот, нужна помощь понять куда пропадают сессионные переменные !

а чем простой обращение к $_SESSION не устраивает?




public static function setData($key, $data) {

        $_SESSION[$key] = $data;

    }

public static function getData($key) {

        return isset($_SESSION[$key]) ? $_SESSION[$key] : null;

    }



вообще всю жизнь устраивал, просто с переходом на Yii решил воспользоваться их хелпером

если решили воспользоваться то почему не пользовались а писали велосипед?




Yii::app->session->get($key,$defaultValue=null);

Yii::app->session->add($key,$value);



разве этот вариант не использует тот же класс ?

ну почти если только вы не храните данные в бд или ещё где нить!!

Я про CCacheHttpSession CDbHttpSession!

Даже если тот же класс зачем писать


$session = new CHttpSession;

        $session->sessionID = Yii::app()->session->getSessionID();

        $session->open();

        return $session->itemAt($key);

вместо


Yii::app->session->get($key,$defaultValue=null);

п.с. дааа иногда людям не спится!!!

))))

вы вот смеетесь, а переход на $_SESSION целиком и полностью решил все проблемы :)

Мне кажется тут правильнее использовать

Yii::app()->user->setState() и ->getState()

http://www.yiiframework.com/doc/api/1.1/CWebUser#setState-detail