Моя проблема быстро описывается необходимостью продлить срок жизни данных сеанса по сравнению с настройками по умолчанию в php.ini без изменения php.ini.Я ищу решение, которое можно применить к ряду различных настроек php на разных серверных платформах, поэтому нет необходимости менять скрипт при каждой установке.
Поскольку я не хочу менять настройки по умолчаниюна моем сервере и хочу остаться максимально независимым с моим сценарием. Я ищу способ превысить стандартные 1440 секунд, которые установлены для сборщика мусора для преждевременной утилизации моих данных сеанса.Простая установка ini_set('session.gc_maxlifetime',36000);
на 10 часов не сработает, так как на некоторых серверах GC будет работать независимо от настроек php и в любом случае удалит мои сеансы через 24 минуты, как описано здесь .Чтобы обойти эту проблему, автор предлагает изменить session.save_path на другую папку, не зависящую от gc операционной системы, и тем самым принудительно установить set session.gc_maxlifetime в мои настройки.К сожалению, я не смог создать временную папку в tmp-пространстве php, и, хотя мне это нравится, я не могу этого сделать, поскольку у меня нет доступа к 0600 на большинстве серверов.
Одним из решений было бысвяжите мои данные сеанса с моей собственной папкой, созданной прямо в моей общей папке хоста, но это кажется небезопасным, так как эта папка должна быть доступна онлайн и, следовательно, подвергаться возможной краже идентификатора.Хотя я не знаю, так ли это.
Другое решение будет включать $_SESSION["stayalaive"]=time();
, так как gc удаляет только те сеансы, которые не были затронуты, в течение определенного времени в сценарии входа в систему, чтобы сеанс был расширен.хотя каждый раз, когда вызывается сценарий входа, это означает, что если пользователь ничего не нажимает в течение 24 минут, сеанс будет удален в любом случае, и это то, с чем я мог бы жить, но он также вызывает другой процесс, который кажется ненужным.1012 * Таким образом, мой вопрос заключается в том, как настроить данные сеанса так, чтобы они оставались в живых в течение 10 часов без увеличения производительности.