Сессия 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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]