За последние 24 часа нас посетили 56495 программистов и 1778 роботов. Сейчас ищут 862 программиста ...

session_destroy() Session object destruction failed

Тема в разделе "PHP для новичков", создана пользователем Frai, 20 сен 2016.

  1. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Приветствую!
    session_destroy() [function.session-destroy]: Session object destruction failed
    Такая ошибка появляется при двойном выходе из сессии, то есть в браузере (пробовал в Opere) открыты были две или больше страниц и при его перезапуске первая страница нормально отрабатывает session_destroy() , вторая выдает такую ошибку. Делал проверку на содержимое сессии, аналогично.

    PS по сути это обработка выхода из аккаунта, тестируется выход "на всех устройствах" , поэтому и срабатывает session_destroy()
    Жду советов по способу устранения ошибки, а не структуры выхода
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.816
    Симпатии:
    1.333
    Адрес:
    Лень
    не давать второму окошку пройтись по коду (ВЫЙТИ)

    составь условия проверки, если вышел но он снова жмет "выйти", то его просто посылает например на главную страницу , без обработки (ВЫЙТИ)
     
  3. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Дело не совсем так обстоит, оба окошка открывает браузер, при запуске, открывает последние посещенные страницы пользователя. Сайт содержит справочную информацию, так что думаю будет открыто несколько. По времени или пользователь в другом месте выбрал "выйти на всех устройствах" совершается выход. Пользователь запускает браузер, где у него были открыты вкладки и получает в первой приглашение совершить вход (как нужно сработало), во второй php ошибку, что коряво. Делал обход session_destroy() по проверке существования переменных в сессии, то есть если уже удалены то не нужно применять функцию. Но браузер для второй страницы не обновляет сессию для запомненной страницы (она записана в заголовок страницы) и прогоняет код по всей видимости для уже удаленной сессии, не находит её и выдает ошибку.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Выход из документации не подходит?

    https://secure.php.net/manual/ru/function.session-destroy.php
    --- Добавлено ---
    @Frai что-то ошибку не получается повторить, дай пример кода который можно будет запустить.
     
  5. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Спасибо. На простом коде вроде

    ошибок тоже нет для нескольких страниц автозапуска. Пока решил вопрос unset() для переменных в сессии и последующей проверкой. Если будет время напишу упрощенный код ошибки, чтобы можно было выложить.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768