Вопрос по настройке времени жизни сессии

Нужно изменить время жизни сессии с 24 минут до 1. Расположение /etc/php/8.0/cli/php.ini конфигурационного файла было найдено командой:

php -i | grep php.ini

Менял значение session.gc_maxlifetime с 1440 на 60 и перезапускал apache. При запуске phpinfo() на локальном сервере отображается результат session.gc_maxlifetime = 60, но сессия после 60 секунд не завершается. Что еще можно проверить ?

vedro-compota's picture

пробовал удалить куку, может это старая сессия висела или ты перелогинивался?

_____________
матфак вгу и остальная классика =)

Cookie не удалял, параметры сессии при ввооде команды php -i | grep session:

session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => no value => no value
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_samesite => no value => no value
session.cookie_secure => 0 => 0
session.gc_divisor => 100 => 100
session.gc_maxlifetime => 60 => 60
session.gc_probability => 100 => 100
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => /var/lib/php/sessions => /var/lib/php/sessions
session.serialize_handler => php => php
session.sid_bits_per_character => 5 => 5
session.sid_length => 26 => 26
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => 1 => 1
session.use_only_cookies => 1 => 1
session.use_strict_mode => 0 => 0
session.use_trans_sid => 0 => 0
session.trans_sid_hosts => no value => no value
session.trans_sid_tags => a=href,area=href,frame=src,form= => a=href,area=href,frame=src,form=
DBUS_STARTER_BUS_TYPE => session
$_SERVER['DBUS_STARTER_BUS_TYPE'] => session

Поменял время жизни сессии установкой в файле /etc/php/8.0/apache2/php.ini следующих настроек:

session.gc_probability = 1
session.gc_divisor = 2
session.gc_maxlifetime = 60

Остальные параметры по умолчанию.
О нужном php.ini узнал с помощью функции phpinfo(), добавленной в файл index.php корневой папки сайта.

vedro-compota's picture

хорошо, допиши выше тогда в вопрос какой файл до этого правил - видимо это был файл командной строки

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

за что отвечают
session.gc_probability = 1
session.gc_divisor = 2

?

_____________
матфак вгу и остальная классика =)

Согласно документации https://www.php.net/manual/ru/session.co... за вероятность запуска сборщика мусора при каждой инициализации сессии, то есть в моем случае вероятность session.gc_probability/session.gc_divisor равна 1/2 или 50%.