butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как в yii2 узнать онлайн ли пользователь?

Например по логину или его id, да хоть по токену, ка это можно узнать?
  • Вопрос задан
  • 2333 просмотра
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Пользователей не бывает онлайн.
Соединение пользователя с веб-сайтом не постоянное, а дискретное.
Поэтому цифра "пользователей онлайн" является всегда примерной, вычисляемой из времени последнего запроса пользователем сайта и таймаута - у кого на какой наглости хватит.

Самые тупые похапешники берут таймаут сессии - 24 минуты.
Ответ написан
@romkaby
Стандартно заводится поле типа "last_visit", которое обновляется при обновлении странички каждого пользователя.
А потом просто считается количество пользователей, время обновления этого поля которые не превышает например 5-15 минут (это кто как сам решит по времени). Если это форум то логично поставить 5 минут, если это сайт с большими статьями - то и 15 минут не грех.
Иногда еще заводят отдельную таблицу вместо поля и туда пишут новую строку при обновлении странички у юзера, но это дикая избыточность. Используется в основном если помимо последнего визита нужно хранить какие-либо еще данные.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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