Php 简明教程

PHP - Session Options

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

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

Example

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

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

Configurable Options of an HTTP Session

PHP 中 HTTP 会话的一些可配置选项如下 −

session.name

它指定用作 cookie 名称的会话名称。它应只包含字母数字字符。默认为 PHPSESSID。

session.save_handler

它定义用于存储和检索与会话关联的数据的处理程序的名称。默认为文件。

session.auto_start

它指定会话模块是否在请求启动时自动启动会话。默认为 0(已禁用)。

它指定发送到浏览器的 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,已启用。