Как установить время хранения сессии в yii2?

В 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 будет использовать указанное вами время хранения сессии при каждом запуске приложения или консольных командах.