我是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的输出
这是会话的测试评论
答案 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)。它提供了一个抽象层。