更快的注销脚本 PHP
Faster logout script PHP
我在 PHP 中有登录功能,而且工作得很好。当我单击 Logout
时,大约需要 10 秒才能从会话中注销。
我怎样才能让它更快?
我的网站托管在共享服务器上。
我的 logout.php
如下所示
<?php
session_start();
unset($_SESSION['logdname']);
header('location: ./');
?>
$_SESSION['logdname']
已在登录网站时设置。
要销毁 session,请在 header 之后添加 session_destroy();
和 exit;
,以便在下面有更多代码时停止进一步执行。
<?php
session_start(); // start the session
$_SESSION['logdname'] = "John";
session_destroy(); // destroy active session
$_SESSION = array();
header('Location: http://www.example.com/');
exit;
测试代码向您展示证明:
<?php
session_start(); // start the session
$_SESSION['logdname'] = "John";
echo $_SESSION['logdname']; // will echo John
session_destroy(); // destroy active session
$_SESSION = array();
echo $_SESSION['logdname']; // will not echo John
否则,将session_start();
放在下面会产生警告,例如
Warning: session_destroy(): Trying to destroy uninitialized session
和
Warning: session_start(): Cannot send session cache limiter - headers already sent
我在 PHP 中有登录功能,而且工作得很好。当我单击 Logout
时,大约需要 10 秒才能从会话中注销。
我怎样才能让它更快?
我的网站托管在共享服务器上。
我的 logout.php
如下所示
<?php
session_start();
unset($_SESSION['logdname']);
header('location: ./');
?>
$_SESSION['logdname']
已在登录网站时设置。
要销毁 session,请在 header 之后添加 session_destroy();
和 exit;
,以便在下面有更多代码时停止进一步执行。
<?php
session_start(); // start the session
$_SESSION['logdname'] = "John";
session_destroy(); // destroy active session
$_SESSION = array();
header('Location: http://www.example.com/');
exit;
测试代码向您展示证明:
<?php
session_start(); // start the session
$_SESSION['logdname'] = "John";
echo $_SESSION['logdname']; // will echo John
session_destroy(); // destroy active session
$_SESSION = array();
echo $_SESSION['logdname']; // will not echo John
否则,将session_start();
放在下面会产生警告,例如
Warning: session_destroy(): Trying to destroy uninitialized session
和
Warning: session_start(): Cannot send session cache limiter - headers already sent