1. 程式人生 > >PHP會話控制之session_start

PHP會話控制之session_start

php session會話控制 session生命周期 session_start() php.ini

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