В попытке справиться с истекающий PHP сессий более изящно, я вставил следующий в моем PHP код:Всплывающее всплывающее окно Javascript расширяет сеанс PHP?
$sessionLifeTimeInSeconds = ini_get ("session.gc_maxlifetime");
echo '<script type="text/javascript">' . "\n" .
' setTimeout (function() {' . "\n" .
' alert ("Your login session will expire in 3 minutes.");' .
"\n" .
' }, ' . ($sessionLifeTimeInSeconds - 180) * 1000 . ');' . "\n" .
'</script>' . "\n\n";
, который работает. Однако теперь я замечаю, что после нажатия кнопки «ОК» в предупреждении javascript и никакой дополнительной активности сеанс не истекает, когда достигнут тайм-аут (по умолчанию 24 минуты в этом случае).
Должно ли всплывающее окно предупреждения продлевать сеанс? Если да, можно ли этого избежать, и если да, то как?
Я использую Firefox 44.0 на Ubuntu Linux, если это вообще актуально.
Всплывающие не должен распространяться продолжительностью сеанса PHP в любом случае, но, возможно, есть больше кода (который вы должны предоставить нам), насколько это возможно. –
Нет, нет. Это единственное изменение в PHP-коде. Перед вставкой этих простых сессий фрагментов Javascript истекли через 24 минуты (по умолчанию PHP), и теперь они этого не делают. Никаких других изменений в коде не было сделано, и не было никаких других взаимодействий или запросов клиента/сервера. Отсюда вопрос, потому что я не думал, что это должно произойти. –
Всплывающее окно оповещения - клиентская сторона. На сервер не поступает запрос. Таким образом, сеанс php не расширяется. Вы должны перезагрузить сайт, когда хотите это сделать. – Fuzzyma