Symfony 2.1 - 获取会话ID

aci*_*cid 0 php symfony symfony-2.1

在尝试从Symfony 2.0迁移到2.1时,我发现了一些有趣的问题.

我无法获得本机会话ID,即使是在简单的下载Symfony 2.1副本.

/**
 * @Route("/sess")
 */
public function sessionAction()
{
    $session = $this->getRequest()->getSession();
    return new Response($session->getId());
}
Run Code Online (Sandbox Code Playgroud)

那里发生了什么变化吗?

小智 5

看看这个文档(在app/config/config.yml部分下)

在Symfony 2.1中,会话始终按需启动.所以我会说你所看到的是正常行为.您需要在获取会话ID之前显式启动会话.我没有检查但是设置第一个变量也可以启动会话,这是因为它在调用set()之后有效.