PHP会话控制之session_start

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()

网站标题:PHP会话控制之session_start
网站链接:http://scyanting.com/article/ijegog.html