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,启用。

广告