session_abort() 关闭当前会话并丢弃对当前页面中会话数组所做的更改,它不会删除会话文件
让我用一个例子来解释。
page 1.php
<?php
session_start();
$_SESSION['city']="Sydney";
echo "<a href=\"2.php\"> page2</a>";
?>
当您打开此页面时,服务器上会创建一个会话文件(要找出会话文件保存的位置,请运行“echo session_save_path()”), 文件名是 session_id,内容是变量
sess_o22iabs75j93uhc7i4jf1lecjk (文件名)
city|s:6:"Sydney"; (内容)
如果我们转到包含以下代码的 2.php
<?php
session_start();
$_SESSION['country']="Australia";
echo session_encode();
session_abort();
session_start();
echo "<br>".session_encode();
?>
执行 session_abort 时,会话将关闭,并且此处是会话数组的“country”元素的更改将被丢弃。
输出:
city|s:6:"Sydney";country|s:9:"Australia";
city|s:6:"Sydney";