欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP会话控制之session_start()

程序员文章站 2024-03-20 16:26:40
...

PHP会话控制之session_start()

session是如何初始化的?

声明一个全局数组$_SESSION,映射寄存在内存的session数据。
如果session文件已经存在,并且保存有session数据,
session_start()则会读取session数据,填入$_SESSION中,
开始一个新的session生命周期。

session初始化在php.ini相关参数

session.auto_start = 0 
默认值为0
如果开启(值改为1),则默认在每个页面执行session_start()

session_start()

定义: 启动新会话或者重用现有会话
bool session_start ([ array $options = [] ] )
参数:
    $options参数是一个关联数组,数组中的值会覆盖会话配置指示中的配置项。
    注:此数组中无需包含sesssion. 前缀。
    $options常用指定选项
        1.设置cookie的有效时间为1天          
        sesstion_start(['cookie_lifetime' => 86400])
        2.如果确定不修改会话中的数据,在会话文件读取后立即关闭它,
        来避免由于会话文件加锁导致其他页面阻塞。
        sessioin_start([
            'cookie_lifetime' => 86400,
            'read_and_close' => true
        ])
返回值:
    类型:bool
        成功:true
        失败:false

说明

初始化session,标志着session生命周期的开始。

注意事项:

要使用基于cookie的会话,必须在输出之前调用session_start()