在尝试从Symfony 2.0迁移到2.1时,我发现了一些有趣的问题。
我无法获得本机会话ID,即使是在简单的下载Symfony 2.1副本中也是如此。
/**
* @Route("/sess")
*/
public function sessionAction()
{
$session = $this->getRequest()->getSession();
return new Response($session->getId());
}
那里有什么改变吗?
答案 0 :(得分:5)
查看this document(在 app / config / config.yml 部分下)
在Symfony 2.1中,会话总是按需启动。所以我会说你所看到的是正常行为。您需要在获取会话ID之前显式启动会话。我没有检查但是设置第一个变量也可以启动会话,这是因为它在你调用set()之后有效。