Jump to content

Увеличить время активности сессии пользователя


Атаман
 Share

Recommended Posts

В 4 версии нет настройки в виджете (пользователи онлайн). Хочу поправить период отсутствия, через которое пользователь считается неактивным.

 

Есть PHP виджета, я правильно понимаю, что цифру 60 нужно заменить? Или он отвечает за вывод до 60 человек, а остальных скрывает, чтоб блок не заполнять.

 

foreach( \IPS\Db::i()->select( 'core_sessions.member_id,core_sessions.member_name,core_sessions.seo_name,core_sessions.member_group,core_sessions.login_type', 'core_sessions', $where, 'core_sessions.running_time DESC', $this->orientation === 'horizontal' ? NULL : 60 )->join( 'core_groups', 'core_sessions.member_group=core_groups.g_id' ) as $row )

Link to comment
Share on other sites

Или он отвечает за вывод до 60 человек

Да.

В виджете /applications/core/widgets/whosOnline.php

 

array( 'core_sessions.running_time>' . \IPS\DateTime::create()->sub( new \DateInterval( 'PT30M' ) )->getTimeStamp() ),

PT30M

 

Да и то изменение не особо поможет, т.к. время жизни сессии (session.gc_maxlifetime) по дефолту равно 24 минуты, значение которого тоже придется менять.

 

Если нужно фиктивное присутствие людей на форуме, можно установить плагин "Traffic Generator"

  • Upvote 2
Link to comment
Share on other sites

PT30M - заменил на PT200M = заработало (в виджете сразу отобразило много пользователей в сети), но когда заходишь чтоб просмотреть список пользователей онлайн в отдельной вкладке, там отображается реальная картинка, но для этого как Вы сказали нужно session.gc_maxlifetime. У меня значение в phpinfo:

 

session.gc_maxlifetime 86400

 

Сейчас ищу где в самой странице это правится.

 

Спасибо.

Link to comment
Share on other sites

но когда заходишь чтоб просмотреть список пользователей онлайн в отдельной вкладке, там отображается реальная картинка, но для этого как Вы сказали нужно session.gc_maxlifetime.

Для этого нужно изменить /applications/core/modules/front/online/online.php

 

array( "core_sessions.running_time>?", \IPS\DateTime::create()->sub( new \DateInterval( 'PT30M' ) )->getTimeStamp() ),

  • Upvote 2
Link to comment
Share on other sites

Время жизни сессии session.gc_maxlifetime можно установить из php, добавив в constants.php (в секундах):

 

ini_set('session.gc_maxlifetime', 30*60);

Для форума нет смысла устанавливать большие значения на уровне php.ini, IPS хранит сессии в бд, а временная папка только будет забиваться старыми сессиями других сайтов.

  • Upvote 3
Link to comment
Share on other sites

А как сделать, чтобы из админки подольше не выкидывало при бездействии? Сейчас около 30 минут.

Link to comment
Share on other sites

  • 2 weeks later...

А как сделать, чтобы из админки подольше не выкидывало при бездействии? Сейчас около 30 минут.

Сессии в АЦ работают по тому же принцу, что и в публичной части - увеличив время сессии на форуме также увеличивается и время в АЦ.

  • Upvote 2
Link to comment
Share on other sites

  • 2 months later...
PT30M - заменил на PT200M = заработало (в виджете сразу отобразило много пользователей в сети)

 

Поставил в /applications/core/widgets/whosOnline.php значение PT200M и ни чего не поменялось, у пользователей и гостей тот же период считается не активным, а нужно что бы дольше задерживались в блоке (Сейчас в сети), даже если вышли с форума. Подскажите что нужно сделать?

Link to comment
Share on other sites

ini_set('session.gc_maxlifetime', 30*60);

Какие цифры менять надо (30*60)?, если кто пробовал, какие значения там поставить, что бы папку со старыми сессиями не забивать?

Link to comment
Share on other sites

Меняю в блоке (Сейчас в сети) делаю такие значения:

В /applications/core/widgets/whosOnline.php - ставлю на PT200M и ни чего не происходит. Не пойму почему здесь не работает?

 

Меняю список пользователей онлайн в отдельной вкладке:

в /applications/core/modules/front/online/online.php - ставлю на PT200M вроде работает, появляется больше пользователей и гостей.

 

В файл constants.php поставил такие значения:

ini_set('session.gc_maxlifetime', 130*160);

Ни чего не поменялось.

 

В IPB 3 версии таких проблем не было с этой настройкой.

 

Может кто ни будь объяснить толком как изменить, что бы всё работало?

Link to comment
Share on other sites

  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...