Где мои сеансы в Slim PHP framework?

Я использую версию 1.5.0 фреймворка Slim PHP, и у меня возникают проблемы с сессиями. У меня не было проблем в прошлом (использование Slim), поэтому это наводит меня на мысль, что это либо что-то меняется со Slim, либо что-то с моей настройкой. Вот базовый фрагмент маршрутов на моей странице index.php.

$app->get('/test', function() use($app) {
    $_SESSION['test'] = 'blah';
    var_dump($_SESSION);
});

$app->get('/test2', function() use ($app) {
    var_dump($_SESSION);
});

Маршрут '/test' выводит:

array(1) { ["test"]=> string(4) "blah" }

Маршрут '/test2' выводит:

array(0) { }

Что у меня с сеансами. Я делаю что-то неправильно? Должен ли я использовать что-то еще, кроме собственных сеансов PHP? Я даже пытался инициализировать Slim со следующим свойством:

$app = new Slim(array(
    'session.handler' => null
));

Оба варианта, безрезультатно.


person naivedeveloper    schedule 19.01.2012    source источник
comment
Я бы посоветовал прочитать и усвоить документацию Slim PHP API по сеансам... как вы может подождать некоторое время, пока не появится кто-то, кто хорошо разбирается в конкретной структуре.   -  person rdlowrey    schedule 19.01.2012


Ответы (1)


Slim использовал зашифрованные файлы cookie HTTP для сохранения данных сеанса; если у вас нет файлов cookie, у вас не будет сеансов, если вы не установите обработчик сеанса на null, как вы сделали выше.

Версия 1.6.0 (в настоящее время в ветке разработки) не делает никаких предположений о сеансах; вместо этого версия 1.6.0 требует, чтобы вы сконфигурировали и запустили свой собственный сеанс (при использовании собственной обработки сеанса PHP). Версия 1.6.0 также абстрагирует устаревшую обработку сеансов в промежуточное программное обеспечение, чтобы вы могли продолжать использовать зашифрованные файлы cookie для сохранения данных сеанса, если это то, что вы предпочитаете.

Если у вас есть дополнительные вопросы, я рекомендую вам опубликовать их на официальном форуме поддержки Slim Framework по адресу http://help.slimframework.com/.

Лучший, Джош

person Josh Lockhart    schedule 21.01.2012