В Yii2 для установки времени хранения сессии можно использовать компонент "session" и его настройки в конфигурационном файле приложения.
Для начала, необходимо открыть файл config/web.php
или config/console.php
, в зависимости от того, где вы хотите установить время хранения сессии (для приложения на основе веб-сервера или для консольного приложения).
В разделе 'components' добавьте следующую конфигурацию:
'session' => [ 'class' => 'yiiwebSession', 'timeout' => 3600, // время хранения сессии в секундах // дополнительные настройки... ],
Здесь мы устанавливаем класс компонента сессии как yiiwebSession
и задаем время хранения сессии, равное 3600 секундам (1 час). Вы можете установить нужное вам значение в секундах.
Также у класса yiiwebSession
есть ряд дополнительных настроек, которые вы можете использовать:
- 'name' - имя сессии, по умолчанию PHPSESSID;
- 'savePath' - путь для сохранения сессий, по умолчанию null (используется стандартный путь PHP);
- 'cookieParams' - настройки cookie для сессии, по умолчанию массив со следующими значениями: 'lifetime' => 0, 'path' => '/', 'domain' => null, 'secure' => false, 'httponly' => false.
Например, вы можете определить следующую конфигурацию для сессии:
'session' => [ 'class' => 'yiiwebSession', 'timeout' => 3600, // время хранения сессии в секундах 'name' => 'MYSESSIONID', // имя сессии 'cookieParams' => [ 'lifetime' => 3600, // время жизни cookie в секундах 'path' => '/', 'domain' => '.example.com', 'secure' => true, // использовать SSL-соединение 'httponly' => true, // запретить доступ к cookie из JavaScript ], // дополнительные настройки... ],
После настройки компонента сессии в конфигурационном файле, Yii2 будет использовать указанное вами время хранения сессии при каждом запуске приложения или консольных командах.