Сессия ZF3 пуста на каждой странице загрузки

В ZF3 я инициализирую свою сессию следующим образом:

конфиг / автозагрузка /global.php

'session_config' => [
    'name' => 'gintra3',
    'cookie_lifetime' => 60*60*1,
    'gc_maxlifetime'     => 60*60*24*30,
],
'session_storage' => [
    'type' => Zend\Session\Storage\ArrayStorage::class,
],
'session_manager' => [
    'storage' => Zend\Session\Storage\SessionArrayStorage::class,
    'validators' => [
        Zend\Session\Validator\RemoteAddr::class,
        Zend\Session\Validator\HttpUserAgent::class,
    ],
],

модуль /Application/ module.php

$sessionManager = $e->getApplication()->getServiceManager()->get(SessionManager::class);
$sessionTableGateway = new TableGateway('session',$e->getApplication()->getServiceManager()->get('Zend\Db\Adapter\Adapter'));
$sessionSaveHandler = new DbTableGateway($sessionTableGateway,new DbTableGatewayOptions());
$sessionManager->setSaveHandler($sessionSaveHandler);

Теперь, когда я храню такие данные на странице 1:

$sessionC = new Container('test');
$sessionC->testVariable = "helloWorld";

И найдите его на странице 2 следующим образом:

$sessionC = new Container('test');
Debug::dump($sessionC->testVariable);

Я получаю вывод на странице 2, как это:

vendor/zendframework/zend-debug/src/Debug.php:97:null

Когда я проверяю таблицу базы данных, столбец "data" соответствующего session_id содержит "helloWorld" после загрузки страницы 1. После загрузки страницы 2 он больше не содержит "helloWorld".

Если я закомментирую все строки, относящиеся к сеансу в Module.php, при загрузке страницы создается файл cookie PHPSESSID, и теперь сохранение и сохранение данных сеанса работает нормально.

Не имеет значения, использую ли я DbTableGateway в качестве save_handler или просто использую стандартный save_handler. Проблема возникает в обоих случаях.

При использовании моего отдельного хранилища сеансов также перестают работать FlashMessenger и Csrf-Form-Validation из-за того же механизма потери всех данных сеанса при загрузке страницы.

Где моя проблема? Что я наблюдаю? Большое спасибо за некоторые идеи.

0 ответов

Другие вопросы по тегам