使用AJAX检查PHP会话是否存在或过期

use*_*865 5 javascript php ajax session

  1. 如何设置PHP会话时间,我正在尝试如下,但我不认为它的工作原理

    ini_set("session.gc_maxlifetime", 600);

  2. 如何使用ajax(javascript)查明php会话是存在还是过期?

问候

Cfr*_*eak 9

对于#1使用session_set_cookie_params().600秒后过期

session_set_cookie_params(600)
Run Code Online (Sandbox Code Playgroud)

(注意与常规setcookie函数不同,session_set_cookie_params你想要它使用的秒数,它不应该time() + 600是一个常见的错误)

对于2号,只需通过AJAX调用一个小脚本:

<?php
session_start()

if( empty($_SESSION['active']) ) {
     print "Expired"
}
else {
     print "Active"
}

?>
Run Code Online (Sandbox Code Playgroud)

在Javascript方面(使用JQuery)

$.get('path/to/session_check.php', function(data) {
     if( data == "Expired" ) {
         alert("Session expired");
     } else if (data == "Active" ) {
         alert("Session active");
     }
 });
Run Code Online (Sandbox Code Playgroud)