PHP - Session 选项


从 PHP 版本 7 开始,session_start() 函数接受一组选项来覆盖 “php.ini” 中设置的会话配置指令。“php.ini” 中的 [session] 会话定义了各种选项的默认值。

这些选项(如果提供)采用选项的关联数组的形式,这些选项将覆盖当前设置的 session 配置指令。键不应包含 “session.” 前缀。

例子

例如,您可以使用定义为 session_start() 函数参数的两个 session 选项启动 HTTP 会话-


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

HTTP session 的可配置选项

PHP 中 HTTP session 的一些可配置选项如下 -

选项 描述
session.name 指定用作 Cookie 名称的会话的名称。它应仅包含字母数字字符。默认为 PHPSESSID。
session.save_handler 定义用于存储和检索与 session 关联的数据的处理程序的名称。默认为 files。
session.auto_start 指定 session 模块是否在请求启动时自动启动 session。默认为 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,已启用。