首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP Session 進階函數補充 (二):Cookie 參數與自訂儲存處理器

     編輯:PHP 相關知識

前言

PHP 4 提供數個較少被注意的 Session 相關函數,本文介紹 Cookie 參數讀取/設定與自訂儲存處理器。

session_get_cookie_params()

回傳陣列,包含目前 Session Cookie 參數:

  • lifetime:生存期 (秒)
  • path:儲存路徑
  • domain:適用域名

session_set_cookie_params()

設定目前腳本的 Session Cookie 參數 (類似 php.ini 設定,但僅影響當前腳本):

void session_set_cookie_params(int lifetime [, string path [, string domain]])

session_set_save_handler() - 核心進階功能

允許定義使用者層級的 Session 儲存處理器 (開啟、關閉、讀取、寫入、銷毀、垃圾回收),實現將 Session 存入資料庫、Memcached、Redis 等。

void session_set_save_handler(
    string open, string close, string read,
    string write, string destroy, string gc
)

應用場景

  • 不依賴 Cookie:若客戶端禁用 Cookie,可透過 URL 傳遞 Session ID,搭配自訂儲存器運作。
  • 分散式架構:多台 Web 伺服器共享 Session,需集中儲存 (資料庫/快取)。
  • 特殊序列化需求:加密、壓縮 Session 資料。

注意

使用前必須在 php.ini 設定 session.save_handler = user,否則不生效。且每個使用 Session 的腳本都需引入自訂處理器定義,建議封裝為獨立檔案 include。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved