Тайм-аут сеанса PHP PEAR

Эта проблема сводила меня с ума. В двух отдельных проектах (оба из которых используют PEAR как библиотеки, но записываются на совершенно разных пользовательских фреймворках) Я использую PEAR Auth для аутентификации, которая использует сеанс.

После входа в систему пользователи выходят из системы в течение часа или около того, когда простаивают. У меня нет точного времени, но это очень коротко.

Я пробовал следующее без успеха. Все попытки продлить сеанс до одного дня, просто для того, чтобы прибить точку домой.

<?php // Tried built-in methods to extend the idle time, called after Auth is initialised $auth->setIdle( 86400 ); // Tried increasing the sesion timeout (before auth is called) ini_set( 'session.gc_maxlifetime', 86400 ); // Tried increasing the cookie timeout (where the phpsession is held, before auth is called) session_set_cookie_params( 86400 ); // Tried all of the above ?> 

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

Я просто готов обработать PEAR и написать свой собственный auth-класс на основе файлов cookie, но на самом деле у меня нет времени.

До сих пор я не сталкивался с этой проблемой, но вижу две возможные причины, которые, по-видимому, пока не охвачены:

  1. Вы можете проверить метод setExpire () класса auth в дополнение к setIdle ().
  2. На одном и том же сервере могут быть другие приложения / сценарии на основе php, использующие один и тот же каталог хранилища сеансов с меньшим тайм-аутом. Согласно документам session.gc_maxlifetime:

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