PHP session_name 会话函数



  • 定义和用法

    session_name - 读取/设置会话名称
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
    7.2.0 session_name() 函数会检查会话状态, 之前的版本仅仅检查 cookie 状态。 所以,旧版本的 PHP 允许你在调用 session_start() 函数之后再调用 session_name() 函数, 新版本的 PHP 不再允许这样做了。
  • 语法

    session_name ( [ string $name ] )
    
    session_name() 函数返回当前会话名称。 如果指定 name 参数, session_name() 函数会更新会话名称, 并返回 原来的 会话名称。 如果使用 name 指定了新字符串作为会话 cookie 的名字, session_name() 函数会修改 HTTP 响应中的 cookie (如果启用了 session.transid,还会输出会话 cookie 的内容)。 一旦在 HTTP 响应中发送了 cookie 的内容之后, 调用 session_name() 函数会产生错误。 所以,一定要在调用 session_start() 函数之前 调用此函数。请求开始的时候,会话名称会被重置并且存储到 session.name 配置项。 因此,要想设置会话名称,那么对于每个请求,都需要在 调用 session_start() 函数 之前调用 session_name() 函数。
  • 参数

    参数 必需的 描述
    name 用在 cookie 或者 URL 中的会话名称, 例如:PHPSESSID。 只能使用字母和数字作为会话名称,建议尽可能的短一些, 并且是望文知意的名字(对于启用了 cookie 警告的用户来说,方便其判断是否要允许此 cookie)。 如果指定了 name 参数, 那么当前会话也会使用指定值作为名称。
    注意:会话名称至少需要一个字母,不能全部都使用数字, 否则,每次都会生成一个新的会话 ID。
  • 返回值

    返回当前会话名称。如果指定 name 参数,那么此函数会更新会话名称,并且 返回 原来的 会话名称。
  • 示例

    /* 设置会话名称为 WebsiteID */
    
    $previous_name = session_name("WebsiteID");
    
    echo "先前的会话名称为 $previous_name
    ";
    
  • 相关函数

    session_start() - 启动新会话或者重用现有会话