3

我正在使用 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
));

两种选择,无济于事。

4

1 回答 1

9

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

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

如果您还有任何问题,我鼓励您将它们发布到官方 Slim Framework 支持论坛,网址为http://help.slimframework.com/

最好的,乔什

于 2012-01-21T16:01:03.717 回答