我在Slim PHP框架中的会话在哪里?

时间:2012-01-19 03:03:49

标签: php slim

我正在使用Slim PHP框架的1.5.0版本,我遇到了会话问题。我过去没有遇到过任何问题(使用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
));

两种选择都无济于事。

1 个答案:

答案 0 :(得分:9)

Slim依靠加密的HTTP cookie来保存会话数据;如果您没有cookie,除非您将会话处理程序设置为null,否则您将无法进行会话。

版本1.6.0(目前在开发分支中)不对会话做出任何假设;相反,版本1.6.0要求您配置和启动自己的会话(如果使用PHP的本机会话处理)。版本1.6.0还将遗留会话处理抽象为中间件,以便您可以继续使用加密的cookie来保存会话数据,如果这是您喜欢的。

如果您有任何其他问题,我建议您将其发布到http://help.slimframework.com/的官方Slim Framework支持论坛。

最佳, 约什