如何在Symfony 4中设置/配置会话

时间:2019-05-29 11:42:06

标签: php symfony4

我正在尝试设置/配置会话,并希望根据我的配置将用户redis或文件作为会话保存处理程序。

我的代码如下:

$options = [
  'gc_maxlifetime'  => 14 * 24 * 60 * 60,
  'name'            => 'MySession',
  'cookie_lifetime' => 14 * 24 * 60 * 60,
]

$sessionStorage = new NativeSessionStorage($options);

if ($config['session']['storage'] == 'redis') {
  // client in my case predis
  $client = new MyClient();
  $sessionStorage->setSaveHandler(new RedisSessionHandler($client));
} else {
  // I added the else statement because I dont know what happens if a session handler
  // is not provided, if there is a default behaviour.
  $fileSaveHandler = new NativeFileSessionHandler($docRoot . '/temp/sessions');
  $sessionStorage->setSaveHandler($fileSaveHandler);
}

$session = new Session($sessionStorage);

$session->start();

几个问题:

如果我不想使用Redis会话处理程序或有默认设置,是否需要设置NativeFileSessionHandler?

我可以删除framework.yml会话部分并用我的代码初始化该会话吗?

在什么地方初始化我的会话,以便我的应用程序可以使用它?

0 个答案:

没有答案