如何设置固定的会话ID?

时间:2015-02-17 16:11:58

标签: php session sessionid

我在同一主机上同一目录中的5个不同的php页面上有2个不同的会话ID。

  • 我调用session_start();紧跟在每页顶部的php-tag之后
  • 我将所有页面转换为没有DOM的utf-8
  • 我将所有文件权限设置为644
  • 我尝试清除浏览器缓存
  • 我尝试使用下面的脚本清除会话

     session_start();
    
    // Initialize the session.
    // If you are using session_name("something"), don't forget it now!
    
    session_unset();
    // Unset all of the session variables.
    $_SESSION = array();
    
    // If it's desired to kill the session, also delete the session cookie.
    // Note: This will destroy the session, and not just the session data!
    if (ini_get("session.use_cookies")) {
        $params = session_get_cookie_params();
        setcookie(session_name(), '', time() - 42000,
            $params["path"], $params["domain"],
            $params["secure"], $params["httponly"]
        );
    }
    
    // Finally, destroy the session.
    session_destroy();
    

无济于事。 我该如何修复这个错误?

1 个答案:

答案 0 :(得分:0)

如果您使用的unset($_SESSION);应删除我认为的所有当前会话。

然后,设置一个全局会话

$_SESSION['user_id'] = "0001"

然后使用$_SESSION['user_id']调用它。

与上面的演示中一样,确保您在要调用会话变量的页面顶部有session_start();

这可能不是最新的方式,但这就是我一直在做的事情 - 只是将未设置分配给会话数组的每个部分而不是整个事物。