Сейчас я пишу чат.
Это проблема, с которой я сталкиваюсь в Symfony 4:
Когда я ищу, есть ли новый подключенный пользователь с setTimeout()
из Jquery / AJAX к контроллеру, сеанс "вылетает" (ошибка 500, и я теряю связь с пользователем).
Я уже изменил php.ini, подняв gc.maxlifetime
до 43200, и изменил config / package / framework.yaml, как нужно, но ничего не работает.
Это то, что я изменил в config / package / framework.yaml:
session:
handler_id: ~
cookie_secure: auto
cookie_samesite: lax
gc_maxlifetime: 43200
cookie_lifetime: 43200
cookie_httponly: false
Тогда я даже попытался установить always_remember_me
на true
в config / package / security.yaml:
remember_me:
secret: '%kernel.secret%'
lifetime: 43200
path: /
always_remember_me: true
Это часть Jquery / AJAX:
function userActif()
{
var nbUserActif = $('#listeUserActif');
$.ajax({
url: 'chat/userActif',
success: function (data) {
if(data != nbUserActif.attr('data-nbuseractif') && date > 0){
$('#listeUserActif').attr('data-nbuseractif', data);
$('#listeUserActif').load('chat/listUser');
setTimeout('userActif();', 2000);
}
else {parent.location.href = '/';}
},
error: function() {parent.location.href = '/';}
});
}
Я бы хотел, чтобы сеанс продолжался в течение времени, указанного в вызове AJAX.
Есть ли у вас какие-либо решения? Спасибо.