На ум приходят две возможности, одна из которых заключается в том, что у вас недостаточно дискового пространства в среде общего хостинга. Если это не так, то ваш веб-сайт может делиться своим каталогом сессий с другими веб-сайтами, которые имеют короткие тайм-ауты для своих сеансов.
Параметр gc_maxlifetime по умолчанию равен 1440 секундам, но если вы используете тот же каталог сеанса на другом веб-сайте, который имеет более низкую настройку, чем этот, он преждевременно удалит ваши сеансы из руководства по php:
Примечание. Если разные сценарии имеют разные значения session.gc_maxlifetime, но занимают одно и то же место для хранения данных сеанса, тогда сценарий с минимальным значением будет очищать данные. В этом случае используйте эту директиву вместе с session.save_path.
, поэтому я рекомендую изменить путь сохранения сеанса на другой каталог, для которого веб-сервер будет иметь разрешения на запись.