Intereting Posts
Перенаправить вывод из команды в пакетном файле, выход которого уже перенаправлен? Что такое использование одной трубы? ' В аргументе функции Do? php reg ex, чтобы находить данные не в тегах html, а идентифицировать html, используя & lt; и & gt; Как получить имя сайта во время разработки плагина? Ошибка сертификата SSL: невозможно получить сертификат локального эмитента при аутентификации с помощью Podio Вызов функции-члена bind_param () для не-объекта, не работающего внутри функции, вызванного из другой функции max_execution time limit php Отображение определенных значений атрибутов продукта на страницах категорий архивов Ошибка PHP: Mysqli_real_escape_string () ожидает ровно 2 параметра, 1 Как исправить этот SQL-запрос? Вытягивание <s: variant> из подачи атома простым пирогом Длинные номера php в сравнении строк важность идентификатора ссылки в mysql_real_escape_string () PHP file_exists () не будет работать для меня? Как вызвать одну функцию контроллера в другом контроллере в codeigniter

Сроки PHP слишком быстро выходят из строя

Я использую сеансы php на своем веб-сайте, и кажется, что они «исчезают» в произвольные промежутки времени. Я не знаю, если они выходят из-за отсутствия активности или что-то не так с моим кодом, но есть ли способ контролировать сеансы, когда они истекают?

Как я могу поместить что-то в свой код или изменить что-то в файле php.ini?

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

Related of "Сроки PHP слишком быстро выходят из строя"

Случайное истечение – классический симптом каталога данных сеанса, разделяемого несколькими приложениями: один с самым коротким временем session.gc_maxlifetime может удалить данные из других приложений. Причина:

  1. PHP хранит файлы сеанса в системном временном каталоге по умолчанию.
  2. Встроенный обработчик файлов не отслеживает, кому принадлежит файл сеанса (он просто совпадает с именем файла с идентификатором сеанса):

    Ничего плохого в старых файлах

Мой совет заключается в том, что вы настраиваете личный каталог сеансов для своего приложения. Это можно сделать с помощью функции session_save_path() или установки директивы конфигурации session.save_path . Пожалуйста, ознакомьтесь с документацией своей структуры, чтобы получить точную информацию о том, как это сделать в вашей собственной кодовой базе.

Debian использует задание cron для автоматического завершения сеансов в безопасном режиме. Если вы используете Debian, посмотрите /etc/cron.d/php5.

Вы можете использовать эту технику для обеспечения совместимости вашего приложения в соответствии с вами. Вы должны внести несколько изменений в соответствии с вашей системой

 // Get the current Session Timeout Value $currentTimeoutInSecs = ini_get('session.gc_maxlifetime'); 

Изменение значения времени ожидания сеанса

 // Change the session timeout value to 30 minutes // 8*60*60 = 8 hours ini_set('session.gc_maxlifetime', 30*60); //————————————————————————————– // php.ini setting required for session timeout. ini_set('session.gc_maxlifetime',30); ini_set('session.gc_probability',1); ini_set('session.gc_divisor',1); //if you want to change the session.cookie_lifetime. //This required in some common file because to get the session values in whole application we need to write session_start(); to each file then only will get $_SESSION global variable values. $sessionCookieExpireTime=8*60*60; session_set_cookie_params($sessionCookieExpireTime); session_start(); // Reset the expiration time upon page load //session_name() is default name of session PHPSESSID if (isset($_COOKIE[session_name()])) setcookie(session_name(), $_COOKIE[session_name()], time() + $sessionCookieExpireTime, “/”); //————————————————————————————– //To get the session cookie set param values. $CookieInfo = session_get_cookie_params(); echo “<pre>”; echo “Session information session_get_cookie_params function :: <br />”; print_r($CookieInfo); echo “</pre>”; 

Всего наилучшего !!!!

Попробуйте использовать эту часть кода:

  session_start(); $inactive = 600; $session_life = time() - $_SESSION['timeout']; if($session_life > $inactive) { session_destroy(); header("Location: logoutpage.php"); } $_SESSION['timeout']=time();