PHP - Session 選項



從 PHP 7 版本開始,session_start() 函式接受一個選項陣列以覆蓋“php.ini”中設定的會話配置指令。 “php.ini”中的 [session] 部分定義了各種選項的預設值。

如果提供,選項將以關聯陣列的形式提供,這些選項將覆蓋當前設定的會話配置指令。鍵不應包含“session.”字首。

示例

例如,您可以使用定義為 session_start() 函式引數的兩個會話選項啟動 HTTP 會話 -

<?php
   session_start([
      'cache_limiter' => 'private',
      'read_and_close' => true,
   ]);
?>

HTTP 會話的可配置選項

PHP 中 HTTP 會話的一些可配置選項如下 -

session.name

它指定會話的名稱,用作 cookie 名稱。它應該只包含字母數字字元。預設為 PHPSESSID。

session.save_handler

它定義用於儲存和檢索與會話關聯的資料的處理程式的名稱。預設為 files。

session.auto_start

它指定會話模組是否在請求啟動時自動啟動會話。預設為 0(停用)。

session.cookie_lifetime

它以秒為單位指定傳送到瀏覽器的 cookie 的生存期。值 0 表示“直到瀏覽器關閉”。預設為 0。

session.cache_limiter

它指定用於會話頁面的快取控制方法。它可以是以下值之一:nocache、private、private_no_expire 或 public。預設為 nocache。

session.sid_length

它允許您指定會話 ID 字串的長度。會話 ID 長度可以在 22 到 256 之間。預設為 32。

session.upload_progress.enabled

它啟用上傳進度跟蹤,填充 $_SESSION 變數。預設為 1,啟用。

session.lazy_write

當它設定為 1 時,表示僅當會話資料更改時才重寫會話資料。預設為 1,啟用。

廣告