国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洮南市| 南京市| 长宁县| 民勤县| 固镇县| 武陟县| 武夷山市| 渭南市| 滨州市| 普兰店市| 湘潭县| 疏勒县| 儋州市| 昌都县| 新巴尔虎左旗| 铜陵市| 西乡县| 奉化市| 清河县| 汕头市| 胶南市| 十堰市| 凤城市| 祁门县| 翁牛特旗| 额济纳旗| 镇远县| 苍山县| 独山县| 峨山| 西城区| 白朗县| 昌吉市| 长汀县| 八宿县| 龙山县| 红河县| 大方县| 英超| 托克逊县| 新竹县|