Zend框架2会话验证失败

时间:2017-02-19 18:00:35

标签: zend-framework zend-framework2 zend-session

我试图在视图文件中显示来自flashMessenger的消息。 在控制器中添加它们

$status = 'error';
$message = 'Wrong parameters';
$this->flashMessenger()->addMessage($message)->setNamespace($status);

试图在.phtml文件中收到消息:

1)喜欢这个$this->flashMessenger()->getPluginFlashMessenger()->getCurrentErrorMessages();

2)喜欢这个

$flash = $this->flashMessenger();
if (count($flash->getMessages())) {
    $flash->render('error');
}

始终收到相同的错误Session validation failed

调用堆栈:

#0 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Session/AbstractContainer.php(78): Zend\Session\SessionManager->start()
#1 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FlashMessenger.php(120): Zend\Session\AbstractContainer->__construct('FlashMessenger', Object(Zend\Session\SessionManager))
#2 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FlashMessenger.php(447): Zend\Mvc\Controller\Plugin\FlashMessenger->getContainer()
#3 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FlashMessenger.php(525): Zend\Mvc\Controller\Plugin\FlashMessenger->hasCurrentMessages()
#4 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FlashMessenger.php(593): Zend\Mvc\Controller\Plugin\FlashMessenger->getCurrentMessages()
#5 /home/dmitriy/zend/module/Admin/view/admin/category/index.phtml(20): Zend\Mvc\Controller\Plugin\FlashMessenger->getCurrentErrorMessages()
#6 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php(506): include('/home/dmitriy/z...')
#7 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/View/View.php(205): Zend\View\Renderer\PhpRenderer->render(Object(Zend\View\Model\ViewModel))
#8 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/View/View.php(233): Zend\View\View->render(Object(Zend\View\Model\ViewModel))
#9 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/View/View.php(198): Zend\View\View->renderChildren(Object(Zend\View\Model\ViewModel))
#10 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Mvc/View/Http/DefaultRenderingStrategy.php(102): Zend\View\View->render(Object(Zend\View\Model\ViewModel))
#11 [internal function]: Zend\Mvc\View\Http\DefaultRenderingStrategy->render(Object(Zend\Mvc\MvcEvent))
#12 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#13 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('render', Object(Zend\Mvc\MvcEvent), Array)
#14 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(355): Zend\EventManager\EventManager->trigger('render', Object(Zend\Mvc\MvcEvent))
#15 /home/dmitriy/zend/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(330): Zend\Mvc\Application->completeRequest(Object(Zend\Mvc\MvcEvent))
#16 /home/dmitriy/zend/public/index.php(24): Zend\Mvc\Application->run()
#17 {main}

Zend在显示视图文件之前破碎。这里addMessage($message)

1 个答案:

答案 0 :(得分:0)

我通过添加“session_start();”来修复它在容器的开头