Это могло бы быть очень легко сделать, но я не смог понять это.
В основном я имею свободно веб-приложение пары, записанное в Python и php. Код Python использует сессии PHP (сгенерированный из приложения PHP, когда пользователь входит в систему) проверять, зарегистрирован ли пользователь в / разрешении получить доступ к данному ресурсу Python.
Мой вопрос - это: Что самый легкий путь состоит в том, чтобы вызвать все активные сессии к тайм-ауту. Я хотел бы сделать это для отладки целей, проверить код Python. Я пытался изменить сессию max_lifetime переменная PHP, но это все еще не гарантирует, что сессия закончилась и удалена.
Я пытался просто удалить файл, но это, кажется, вызывает проблемы (когда я обновляю php страницу, ошибки обнаруживаются в моих апачских журналах, и это не перезагрузит быстро),
Какие-либо идеи?
Только что нашел это по другому вопросу: очистка файлов сеанса php
Вы можете попробовать установить для gc_maxlifetime низкое значение, например 0 или 1 (я не пробовал, но это кажется разумным) с помощью функции ini_set ().
http://ar.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
Еще одна вещь, которую можно попробовать, - это удалить все файлы в папке session.save_path. Конечно, для этого потребуются соответствующие права доступа к файлам, но это может быть лучшим вариантом.
Я не знаю единого способа полностью завершить все сеансы для всех клиентов.
Чтобы завершить все сеансы, я бы создал файл с определенным именем (например, end.txt
) в определенном месте в приложении.
Ваш файл начальной загрузки (или где бы вы ни инициализировали свои сеансы) сразу после начала сеанса проверил бы, существует ли этот файл; если это так, выполните session_destroy ()
и отключите все файлы cookie.
При использовании этого метода вам придется вручную удалить файл end.txt
.
Удаление файла сеанса на сервере не приведет к удалению файла cookie сеанса на стороне клиента. Вы можете удалить cookie сеанса, который «убьет» сеанс. Или вы можете просто использовать session_unset ()
, чтобы уничтожить серверную часть сеанса.
Вам также может потребоваться использовать session_destroy ()
, а также отключить cookie сеанса (чтобы узнать, как это сделать, посмотрите комментарии session_unset).