PHP会话控制之session_start

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

PHP会话控制之如何正确设置session_name

会话控制

PHP 会话,为啥 session_start() 需要多次?

PHP系列(十三)PHP会话控制

session_start() 每次刷新都会创建新会话 [重复]

PHP:会话变量