Я работаю над простым веб-приложением, в котором реализованы как файлы cookie, так и сеансы на основе PHP. PHP.ini настраивается в соответствии с требованиями пользователя. Я сомневаюсь, что я не хочу, чтобы срок действия сеанса или файла cookie истек, потому что, если он истек, массив данных становится пустым, что также вызывает ошибку. Этого случая нет в Local. Я связался с моим хостингом с наилучшими пожеланиями, и мне сказали, что время max_exectution увеличивается. Я тоже это сделал, но не повезло.
Я протестировал приведенный ниже фрагмент кода для тестирования в реальном времени.
if ((time()-$_SESSION['expire']) > 2){
//code goes on to destroy session
}
это прекрасно работает. Вместо этого, если я попробую if ((time()-$_SESSION['expire']) > 365*24*60*60)
, он истечет через 24-30 минут бездействия. Могу я узнать, почему это происходит? Если я могу завершить сеанс с помощью приведенного выше фрагмента кода, почему я не могу сохранить его в то же время, что и настроил там. Пожалуйста посоветуй.
да, я читал. Я не понимаю, почему локальный хостинг хорош, а проблема в реальном сервере.
Вы читали часть о том, как данные сеанса и сборка мусора, вероятно, также будут обрабатываться в среде общего хостинга? Кроме того, весьма вероятно, что ваши настройки php.ini сильно отличаются от настроек вашего хостера. В любом случае, вам, вероятно, следует реализовать свою собственную обработку истечения срока действия сеанса как состояние в этот ответ.
Возможно, вы захотите взглянуть на эти потоки: Сеансы PHP завершаются слишком быстро, Почему мой сеанс PHP завершается преждевременно и Как завершить сеанс PHP через 30 минут