我知道这里有一个相同的问题,但接受的答案说这是一个带有补丁的错误,但链接却另有说明。该链接说这是预期的行为,而不是错误。
问题中的其他答案正是我试图做的。
$variableToPreserve = $_SESSION['foo'];
session_destroy();
session_start();
// At this point in the debugger, all previous session variables are still
// in the session anyway, making me think the session has not been destroyed yet.
$_SESSION['foo'] = $variableToPreserve;
下一个请求:
session_start();
// This line errors as 'foo' is not in the session.
$var = $_SESSION['foo'];
我唯一的猜测是,在该请求完成之前,会话实际上并没有被破坏。我可以保留它的唯一方法是保留所有会话变量,但实际上我需要销毁会话并且只'foo'
设置。