php session 释放,php中删除Session和销毁Session的方法
刪除某個(gè)session值可以使用PHP的unset函數(shù),刪除后就會(huì)從全局變量$_SESSION中去除,無法訪問。session_start();
$_SESSION['name']?=?'jobs';
unset($_SESSION['name']);
echo?$_SESSION['name'];?//提示name不存在
如果要?jiǎng)h除所有的session,可以使用session_destroy函數(shù)銷毀當(dāng)前session,session_destroy會(huì)刪除所有數(shù)據(jù),但是session_id仍然存在。session_start();
$_SESSION['name']?=?'jobs';
$_SESSION['time']?=?time();
session_destroy();
值得注意的是,session_destroy并不會(huì)立即的銷毀全局變量$_SESSION中的值,只有當(dāng)下次再訪問的時(shí)候,$_SESSION才為空,因此如果需要立即銷毀$_SESSION,可以使用unset函數(shù)。session_start();
$_SESSION['name']?=?'jobs';
$_SESSION['time']?=?time();
unset($_SESSION);
session_destroy();
var_dump($_SESSION);?//此時(shí)已為空
如果需要同時(shí)銷毀cookie中的session_id,通常在用戶退出的時(shí)候可能會(huì)用到,則還需要顯式的調(diào)用setcookie方法刪除session_id的cookie值。
unset($_SESSION['xxx']) 刪除單個(gè)session,unset($_SESSION['xxx']) 用來unregister一個(gè)已注冊(cè)的session變量。
其作用和session_unregister()相同。
session_unregister()在PHP5中已經(jīng)廢棄。
php 官方刪除session方式<?php
//?初始化session.
session_start();
/***?刪除所有的session變量..也可用unset($_SESSION[xxx])逐個(gè)刪除。****/
$_SESSION?=?array();
/***刪除sessin?id.由于session默認(rèn)是基于cookie的,所以使用setcookie刪除包含session?id的cookie.***/
if?(isset($_COOKIE[session_name()]))?{
setcookie(session_name(),?'',?time()-42000,?'/');
}
//?最后徹底銷毀session.
session_destroy();
?>
任務(wù)
使用unset刪除name的session值。<?php
session_start();
$_SESSION['name']?=?'jobs';
//在這里刪除name的session值
unset($_SESSION['name']);
if?(isset($_SESSION['name']))?{
echo?$_SESSION['name'];
return;
}
echo?'session被銷毀';
徹底銷毀Session代碼如下所示:
//開啟?Session
session_start();
//?刪除所有?Session?變量
$_SESSION?=?array();
//判斷?cookie?中是否保存?Session?ID
if(isset($_COOKIE[session_name()])){
setcookie(session_name(),'',time()-3600,?'/');
}
//徹底銷毀?Session
session_destroy();
?>
注意:使用 $_SESSION = array() 清空 $_SESSION數(shù)組的同時(shí),也將這個(gè)用戶在服務(wù)器端對(duì)應(yīng)的 Session 文件內(nèi)容清空。而使用 session_destroy()函數(shù)時(shí),則是將這個(gè)用戶在服務(wù)器端對(duì)應(yīng)的 Session 文件刪除。
session_destroy()結(jié)束當(dāng)前的會(huì)話,并清空會(huì)話中的所有資源。該函數(shù)不會(huì)unset(釋放)和當(dāng)前session相關(guān)的全局變量(globalvariables),也不會(huì)刪除客戶端的session cookie.PHP默認(rèn)的session是基于cookie的,如果要?jiǎng)h除cookie的話,必須借助setcookie()函數(shù)。
小結(jié):
session_destroy是注銷所有的session變量,并且結(jié)束session會(huì)話;
如果希望刪除一些session數(shù)據(jù),則可以使用unset()函數(shù)或session_destroy()函數(shù)。unset()函數(shù)的作用是釋放指定的session變量,
總結(jié)
以上是生活随笔為你收集整理的php session 释放,php中删除Session和销毁Session的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 慢性输卵管炎如何治疗
- 下一篇: php数据接口api安全,API接口数据