ZF2:获取用户session_id

时间:2014-02-06 11:40:27

标签: php zend-framework2

我需要在ZF2中获取session_id()吗?使用session_id()不会返回任何值。我试过Zend_Session::getId()但它没有用,可能是因为我没有包含路径(我不知道)。

任何人都可以帮我找到解决方案。提前谢谢。

2 个答案:

答案 0 :(得分:0)

session_id()应该有效,但正确的方法是从会话管理器访问它,例如(来自控制器):

$sessionManager = $this->getServiceLocator()->get('Zend\Session\SessionManager');
$id = $sessionManager->getId();

如果这些都没有为你返回一个值,那么就会出现另一个问题。

答案 1 :(得分:0)

首先,您必须在页面中使用zend会话容器。

   use Zend\Session\Container;

现在通过以下方式创建容器对象。

    $session = new Container('User');

现在通过跟随对象在会话中设置值$ userid或任何其他变量。

   $session->offsetSet('userId', $id);

现在您可以通过以下代码获得它。

    $user_id=$session->offsetGet('userId');