国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

如何理解php session運行機制

2020-03-22 18:37:57
字體:
來源:轉載
供稿:網友
php session運行機制就是客戶端將session id傳入到服務器中,服務器再根據session id找到對應的文件并將其反序列化得到session值,然后保存的時候先序列化再寫入

今天將要分享的知識點是PHP中的會話運行機制,對于熟悉PHP的開發者來說并不陌生,但是對于剛入門的來說就不是很理解了。接下來在文章中將為大家詳細介紹PHP中的session運行機制,具有一定的參考作用,希望對大家有所幫助

【推薦課程:PHP教程】

PHP session運行機制含義:

PHP session 運行機制就是客戶端將session id傳遞到服務器,服務器根據session id找到對應的文件,讀取的時候對文件內容進行反序列化就得到session的值,保存的時候先序列化再寫入

PHP session機制分類

在PHP中session有兩種機制,分別為默認機制和由用戶自定義session處理機制。

默認機制

php.ini配置:

session.save_handler = files

是用磁盤文件來實現PHP會話,它有以下幾部分組成:

session_start()

session_start()是session機制的開始,它具有一定概率開啟垃圾回收。這個概率是根據php.ini的配置決定的,因為在有的系統中session.gc_probability = 0,即概率是0,這時就不具備垃圾回收

為$_session賦值

添加一個新值只會維持在內存中,當腳本執行結束的時候,把$_session的值寫入到session_id指定的文件夾中,然后關閉相關資源。這個階段有可能執行更改session_id的操作,比如銷毀一個舊的session_id,生成一個全新的session_id。這一般用在自定義session操作

例:

if (isset($_COOKIE[session_name()])) { setcookie(session_name(), ,time() -42000, / //舊session cookie過期 session_regenerate_id();//這一步會生成新的session_id //session_id()返回的是新的值

寫入session操作

在腳本結束的時候會執行session寫入操作,把$_session中的值寫入到session_id命名的文件中,可能已經存在,可能需要創建新的文件。

銷毀session

session發出去的cookie一般是即時cookie,保存在內存中,當瀏覽器關閉后,才會過期,但是如果只是想退出登錄,而不是關閉瀏覽器,那么就需要在代碼里銷毀session,方法有很多。

例:

1. setcookie(session_name(),session_id(),time() -8000000,..);//退出登錄前執行2. usset($_SESSION);//這會刪除所有的$_SESSION數據,刷新后,有COOKIE傳過來,但是沒有數據。3. session_destroy();//這個作用更徹底,刪除$_SESSION 刪除session文件,和session_id

用戶自定義session處理機制

php.ini配置

session.save_handler = user

用戶自定義處理機制可分為以下幾部分

session_start()

執行open($save_path,$session_name)語句打開session操作句柄

執行read($id)從中讀取數據

注意:$save_path在此情況下直接返回true

腳本執行結束

執行write($id,$sess_data)語句

銷毀session

需要注意如果用戶需要銷毀session則要先執行destroy再執行第2步

總結:以上就是本篇文章全部內容了,希望對大家有所幫助。

以上就是如何理解php session運行機制的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 搜索| 惠安县| 正蓝旗| 罗山县| 叙永县| 永善县| 西青区| 枣庄市| 英吉沙县| 顺平县| 北川| 潜山县| 民权县| 甘谷县| 洛南县| 长海县| 绥芬河市| 保定市| 砚山县| 黎城县| 杂多县| 南和县| 濮阳市| 桦南县| 西乡县| 抚顺市| 武义县| 襄城县| 广丰县| 万宁市| 电白县| 永福县| 甘孜县| 洪雅县| 江永县| 砚山县| 永嘉县| 镇沅| 宁波市| 潍坊市| 汤原县|