會話技術-------session技術
使用session將會話數據存儲于服務器端,同時使用會話技術可以區分瀏覽器;
為每個會話數據建立獨立的會話數據區(來存儲當前會話的全部數據);每一個會話數據區存在唯一的標志;同時瀏覽器端存儲該唯一的標志;做配對使用;seeionID存儲于cookie中;sessionID在cookie中就是一個普通變量;
服務器響應的時候,就會設置sessionID到cookie中;
開啟session機制:session_start();
在開啟session_start()之前,$_SESSION是不能使用的;
增刪改查;
設定:
判斷:
session的屬性:
有效期:默認會話周期結束;
有效路徑:默認整站有效;
有效域:默認當前域有效;
是否僅安全連接:默認false;
是否僅為http使用httonly:默認false;
session的屬性取決于存儲于瀏覽器端的sessionID的cookie變量;
如果需要更改session數據的屬性,其實是更改存儲在瀏覽器端的seessionID的屬性;
在php。ini中設置;
更改session屬性:
session可以存儲任意數據類型(不包含資源),資源不能序列化,資源是php外部的;
session數據區內的數據是序列化后才存儲的;
$_SESSION數組的下標只能是字符串類型;
session_start()類似于header();前面不能有輸出;
session 數據區的操作:
雖然session銷毀了,但是在腳本周期內$_SESSION中還有數據,但是腳本周期結束后,就不會自動寫入session數據區了(原因是關閉了session機制);因此下次腳本周期就不能獲取session數據了;
創建數據庫表存儲session數據;
讀操作:
刪除操作:
調用了session_destroy()銷毀 session過程中被調用,才會執行delete;
垃圾回收機制“:
如何識別垃圾數據:
加上最后處理時間的字段:
帶時間戳存儲:
”
設置垃圾回收機制概率:
如果不對session的存儲做處理,session默認是以文件的形式存儲的,
項目中的session如數據庫:
注意上面的session_set_save_handler()方法中的參數,如果參數是函數時,必須要用數組的形式,如上,數組中的元素位置必須固定;
cookie和session的區別:
是否自動采用其他方法傳輸sessionID:
默認session的存儲路徑是tmp臨時目錄;
配置文件:
在application目錄下創建一個config目錄;用來配置項目應用程序;
配置文件的內容格式:
一般在框架類中初始化載入配置文件;
static是針對同一個類中所有方法公用;超全局$GLOABALS是針對整個項目,整個項目中都可以使用;
新聞熱點
疑難解答
圖片精選