Окончание php сессии для отладки целей

Это могло бы быть очень легко сделать, но я не смог понять это.

В основном я имею свободно веб-приложение пары, записанное в Python и php. Код Python использует сессии PHP (сгенерированный из приложения PHP, когда пользователь входит в систему) проверять, зарегистрирован ли пользователь в / разрешении получить доступ к данному ресурсу Python.

Мой вопрос - это: Что самый легкий путь состоит в том, чтобы вызвать все активные сессии к тайм-ауту. Я хотел бы сделать это для отладки целей, проверить код Python. Я пытался изменить сессию max_lifetime переменная PHP, но это все еще не гарантирует, что сессия закончилась и удалена.

Я пытался просто удалить файл, но это, кажется, вызывает проблемы (когда я обновляю php страницу, ошибки обнаруживаются в моих апачских журналах, и это не перезагрузит быстро),

Какие-либо идеи?

1
задан Bill Zimmerman 10 June 2010 в 19:09
поделиться

3 ответа

Только что нашел это по другому вопросу: очистка файлов сеанса php

Вы можете попробовать установить для gc_maxlifetime низкое значение, например 0 или 1 (я не пробовал, но это кажется разумным) с помощью функции ini_set ().

http://ar.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime

Еще одна вещь, которую можно попробовать, - это удалить все файлы в папке session.save_path. Конечно, для этого потребуются соответствующие права доступа к файлам, но это может быть лучшим вариантом.

1
ответ дан 2 September 2019 в 23:51
поделиться

Я не знаю единого способа полностью завершить все сеансы для всех клиентов.

Чтобы завершить все сеансы, я бы создал файл с определенным именем (например, end.txt ) в определенном месте в приложении.

Ваш файл начальной загрузки (или где бы вы ни инициализировали свои сеансы) сразу после начала сеанса проверил бы, существует ли этот файл; если это так, выполните session_destroy () и отключите все файлы cookie.

При использовании этого метода вам придется вручную удалить файл end.txt .

1
ответ дан 2 September 2019 в 23:51
поделиться

Удаление файла сеанса на сервере не приведет к удалению файла cookie сеанса на стороне клиента. Вы можете удалить cookie сеанса, который «убьет» сеанс. Или вы можете просто использовать session_unset () , чтобы уничтожить серверную часть сеанса.

Вам также может потребоваться использовать session_destroy () , а также отключить cookie сеанса (чтобы узнать, как это сделать, посмотрите комментарии session_unset).

0
ответ дан 2 September 2019 в 23:51
поделиться
Другие вопросы по тегам:

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