2012-09-14 70 views
2

我无法在本地服务器中使用Symfony2会话。我得到一个“通知:会话已经开始 - 忽略session_start()”错误。Symfony2会话已经开始 - 忽略session_start()

相同的脚本在我的生产服务器上正常工作。

我在Windows 7上通过PHP 5.3.5使用Xampp。会话auto_start在php.ini中关闭。

任何提示都会有帮助。由于

回答

12

我想这是一个咬晚,但如果它能够帮助:

确保您session.autostart是(0)在php.ini

使用中的Symfony会话的方式关闭2从CONTROLER是以下情况:

$session = $this->getRequest()->getSession(); 

// store an attribute for reuse during a later user request 
$session->set('foo', 'bar'); 

// in another controller for another request 
$foo = $session->get('foo'); 

// use a default value if the key doesn't exist 
$filters = $session->get('filters', array()); 

http://symfony.com/doc/current/book/controller.html#managing-the-session

或从视图:

{{ app.session.get('foo') }} 

你也应该调用start()即使当你读/写会话数据(因为它建议和的getId()不会调用它为例)时,自动调用

$session->start(); 
$id = $session->getId(); 

http://symfony.com/doc/master/components/http_foundation/sessions.html

您可能无法在生产服务器上收到错误的原因是因为它的优先级仅限于“通知”。

相关问题