$ _SESSION在zend中不起作用

时间:2015-07-01 08:48:41

标签: php zend-framework

我是zend框架的新手,我想使用$ _SESSION,但在使用session_start启动会话并存储会话变量后,我无法在另一个页面上访问该变量。

我知道我们可以使用Zend会话命名空间但出于某种原因我想坚持使用$ _SESSION。

in controller 1 ->
session_start();
$_SESSION['uid']=$this->_user_id;

in controller 2
session_start();
echo 'this is test comment for session '.$_SESSION['uid'];

控制器2的输出
这是会话的测试评论

2 个答案:

答案 0 :(得分:2)

如果不是,你需要转到config / autoload / global.php并添加会话配置:

'session' => array(
    'config' => array(
        'class' => 'Zend\Session\Config\SessionConfig',
        'options' => array(
            'name' => 'myapp',
        ),
    ),
    'storage' => 'Zend\Session\Storage\SessionArrayStorage',
    'validators' => array(
        'Zend\Session\Validator\RemoteAddr',
        'Zend\Session\Validator\HttpUserAgent',
    ),
),

您根本不需要使用session_start()。然后您可以毫无问题地设置或阅读会话。

答案 1 :(得分:0)

为什么要直接访问会话?这些都由Zend Framework处理。请改用会话管理器(http://framework.zend.com/manual/current/en/modules/zend.session.manager.html)。它提供了一个抽象层。