Symfony хранит сеанс в файле app/cache/dev/sessions/sess_{session_id}
в dev env. Содержимое файла похоже на:
_sf2_attributes|a:0:{}_sf2_flashes|a:0:{}_sf2_meta|a:3:{s:1:"u";i:1396424236;s:1:"c";i:1396360957;s:1:"l";s:1:"0";}bbb|i:222;IsAuthorized|b:1;
Когда я пытаюсь его не инициализировать с помощью функции unserialize()
я получаю FALSE
.
Как я могу устранить это?
Вы можете просто использовать стандартный механизм сеанса PHP. Вам необходимо настроить каталог, в котором хранятся ваши сессии ( app/cache/dev/sessions
). А затем вызов стандартной функции session_start()
будет заполнять переменную $_SESSION
всеми нессертифицированными данными из соответствующего файла.
Например, вы можете использовать этот код:
ini_set('session.save_handler', 'files'); ini_set('session.save_path', 'path/to/your/site/folder/app/cache/dev/sessions'); session_start();
Описанный выше способ можно использовать, когда вам нужно работать с сеансами за рамками Symfony (как требуется OP). Чтобы использовать механизм сеанса Symfony, вы должны работать с объектом Session
, который предоставит вам всю необходимую информацию:
use Symfony\Component\HttpFoundation\Session\Session; $session = new Session(); $session->start(); $session->all(); // will return unserialized array of parameters