dsm0688 2014-07-18 04:55
浏览 142

Zend 2错误:未捕获的异常'Zend \ Stdlib \ Exception \ InvalidArgumentException'

I retrieve data from Zend 2 session container on layout via bootstarp method.

public function onBootstrap(MvcEvent $e)
{
    $eventManager        = $e->getApplication()->getEventManager();
    $sm = $e->getApplication()->getServiceManager();
    $moduleRouteListener = new ModuleRouteListener();
    $moduleRouteListener->attach($eventManager);

    $user = $this->getUser($sm);
    $viewModel = $e->getApplication()->getMvcEvent()->getViewModel();
    $viewModel->user = ($user) ? $user: false;
}

public function getUser($sm)
{
    $user= false;
    $userTable= $sm->get('User\Model\UserTable');
    $userSession = new Container('userSession');

    //RETRIEVE USER FROM DB

    return $user;
}

Now i'm getting following error sometimes (not always)

Fatal error: Uncaught exception 'Zend\Stdlib\Exception\InvalidArgumentException' with message 'Passed variable is not an array or object, using empty array instead' in /var/www/T2oRecruitment/app/vendor/zendframework/zendframework/library/Zend/Stdlib/ArrayObject.php:184 Stack trace: #0 
/var/www/T2oRecruitment/app/vendor/zendframework/zendframework/library/Zend/Stdlib/ArrayObject.php(411): Zend\Stdlib\ArrayObject->exchangeArray(NULL) #1 [internal function]: Zend\Stdlib\ArrayObject->unserialize('a:4:{s:7:"stora...') #2 
/var/www/T2oRecruitment/app/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php(95): session_start() #3 
/var/www/T2oRecruitment/app/vendor/zendframework/zendframework/library/Zend/Session/AbstractContainer.php(78): Zend\Session\SessionManager->start() #4 
/var/www/T2oRecruitment/app/module/Application/Module.php(22): Zend\Session\AbstractContainer->__construct('userSession') #5 
/var/www/T2oRecruitment/app/module/Application/Module.php(43): Application\Module->getUser(Object(Zend\S in /var/www/T2oRecruitment/app/vendor/zendframework/zendframework/library/Zend/Stdlib/ArrayObject.php on line 184

What is the issue ?

  • 写回答

2条回答 默认 最新

  • douyou8266 2014-07-18 12:27
    关注

    Please try with this:

    In Module.php file --->

    use Zend\Session\Config\SessionConfig, Zend\Session\SessionManager,
        Zend\Session\Container, Zend\Mvc\MvcEvent;
    // other libraries
    
    public function onBootstrap(MvcEvent $e)
    {
        $eventManager        = $e->getApplication()->getEventManager();
        $sm = $e->getApplication()->getServiceManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);
    
        $config = $sm->get('Config');
    
        $sessionConfig = new SessionConfig();
        $sessionConfig->setOptions($config['session']);
        $sessionManager = new SessionManager($sessionConfig);
        $sessionManager->start();
    
        $user = $this->userSession($sm);
        $viewModel = $e->getApplication()->getMvcEvent()->getViewModel();
        $viewModel->user = ($user) ? $user: false;
    }
    

    In module.config.php file --->

    return array(
        'session' => array(
            'remember_me_seconds' => 2419200,
            'use_cookies' => true,
            'cookie_httponly' => true
        ),
    );
    

    Hope, this will give some idea to you, for fixing your issue. Thanks :)

    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算