您好,登錄后才能下訂單哦!
這篇文章主要介紹了php中session_start()指的是什么意思,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在php中,session_start()的意思為“開始會話”,是一個用于創建新會話或者重用現有會話的內置函數;語法為“session_start($array);”,成功開始會話返回true,反之返回false。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
在php中,session_start()的意思為“開始會話”。
語法:
session_start(array $options = array()): bool
session_start()函數會創建新會話或者重用現有會話。如果通過 GET 或者 POST 方式,或者使用 cookie 提交了會話 ID, 則會重用現有會話。
參數:
$options
:此參數是一個關聯數組,如果提供,那么會用其中的項目覆蓋 會話配置指示 中的配置項。此數組中的鍵無需包含 session. 前綴。
除了常規的會話配置指示項, 還可以在此數組中包含 read_and_close 選項。如果將此選項的值設置為 true, 那么會話文件會在讀取完畢之后馬上關閉, 因此,可以在會話數據沒有變動的時候,避免不必要的文件鎖。
當會話自動開始或者通過 session_start() 手動開始的時候, PHP 內部會調用會話管理器的 open 和 read 回調函數。 會話管理器可能是 PHP 默認的, 也可能是擴展提供的(SQLite 或者 Memcached 擴展), 也可能是通過 session_set_save_handler() 設定的用戶自定義會話管理器。 通過 read 回調函數返回的現有會話數據(使用特殊的序列化格式存儲), PHP 會自動反序列化數據并且填充 $_SESSION 超級全局變量。
要想使用命名會話,請在調用 session_start() 函數 之前調用 session_name() 函數。
如果啟用了 session.use_trans_sid 選項, session_start() 函數會注冊一個內部輸出管理器, 該輸出管理器完成 URL 重寫的工作。
如果用戶聯合使用 ob_start() 和 ob_gzhandler 函數, 那么函數的調用順序會影響輸出結果。 例如,必須在開始會話之前調用 ob_gzhandler 函數完成注冊。
返回值:成功開始會話返回 true ,反之返回 false。
示例1:
<?php // page1.php session_start(); echo 'Welcome to page #1'; $_SESSION['favcolor'] = 'green'; $_SESSION['animal'] = 'cat'; $_SESSION['time'] = time(); // 如果使用 cookie 方式傳送會話 ID echo '<br /><a href="page2.php">page 2</a>'; // 如果不是使用 cookie 方式傳送會話 ID,則使用 URL 改寫的方式傳送會話 ID echo '<br /><a href="page2.php?' . SID . '">page 2</a>'; ?>
請求 page1.php 頁面之后, 第二個頁面 page2.php 會包含會話數據。 請查閱 會話參考 獲取更多關于 會話 ID 傳送的信息, 在該參考頁面中有關于常量 SID 的詳細說明。
示例2:覆蓋 Cookie 超時時間設定
<?php // 設置 cookie 的有效時間為 1 天 session_start([ 'cookie_lifetime' => 86400, ]); ?>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“php中session_start()指的是什么意思”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。