JackShcherbakov
@JackShcherbakov

Почему не удаляется файл сессии по истечению session.gc_max_lifetime?

Здравствуйте, коллеги! Недавно столкнулся со следующей проблемой:

Мне нужно, что бы минимально время простоя между запрсоами было 3 секунды (чисто для примера и наглядности)
Вот конфигурация сервера:
session.gc_probability = 1
session.gc_divisor = 1
session.gc_maxlifetime = 3

На данном этапе я делаю вывод, что ниже описанная последовательность действий приведет к тому, что в браузере будет пустота, так как нету файла на сервере больше.
Итак, вот сама последовательность:
  1. Запускаю сценарий ниже
    <?php 
                              session_start();
                              $_SESSION["age"] = 100;
                              echo $_SESSION["age"];
    //создать на сервере файл сессии с age==100
                               ?>



  2. Запускаю этот сценарий
    <?php
    session_start();
    echo $_SESSION["age"];
    ?>
    //в браузере 100


  3. Жду больше 3-х секунд
  4. Оюноваляю сценарий номер2

Почему в браузере по-прежнему 100, а не пустота. И почему файд на сервере до сих пор есть?

Заранее выражаю огромную благодарность всем, кто поможет
  • Вопрос задан
  • 317 просмотров
Пригласить эксперта
Ответы на вопрос 1
@neol
Если на сервере Debian или производные, то GC для сессий там в принципе не может работать из-за ограничений прав доступа - https://serverfault.com/questions/511609/why-does-...

Если задать ещё и session.save_path, тогда шансы есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы