首頁  >  文章  >  後端開發  >  怎麼讓php中的session永不過期?

怎麼讓php中的session永不過期?

青灯夜游
青灯夜游原創
2020-07-21 10:59:154104瀏覽

開啟php.ini文件,分別將「session.use_cookies」值設為1,「session.cookie_lifetime」值設定為999999999,「session.gc_maxlifetime」值設定為99999999,即可。

怎麼讓php中的session永不過期?

php中session永不過期的方法

第一種方法:

開啟php.ini設定文件,修改三行如下:【相關教學推薦:《PHP教學》】

1、session.use_cookies

把這個的值設為1,利用cookie來傳遞sessionid

2、session.cookie_lifetime

這個代表SessionID在客戶端Cookie儲存的時間,預設是0 ,代表瀏覽器一關閉SessionID就作廢…就是因為這個所以PHP的session不能永久使用!那我們把它設定為一個我們認為很大的數字吧,999999999怎麼樣,可以的!就這樣。

3、session.gc_maxlifetime

這個是Session資料在伺服器端儲存的時間,如果超過這個時間,那麼Session資料就會自動刪除!那我們也把它設定為99999999。

就這樣一切ok了,當然你不相信的話就測試一下看看--設定一個session值過個10天半個月的回來看看,如果你的電腦沒有斷電或是宕機,你仍然可以看見這個sessionid。

第二種方法:

當然也可能你沒有控制伺服器的權限不可以修改php.ini設置,當然就必須利用到客戶端儲存cookie了,把得到的sessionID儲存到客戶端的cookie裡面,設定這個cookie的值,然後把這個值傳遞給session_id()這個函數,具體做法如下:

<?php 
session_start(); // 启动Session 
$_SESSION[&#39;count&#39;]; // 注册Session变量Count 
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); 
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID 
$_SESSION[&#39;count&#39;]++; // 变量count加1 
setcookie(&#39;PHPSESSID&#39;, $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中 
echo $count; // 显示Session变量count的值 
?>

注意:在setcookie一行中的'PHPSESSID '並不是一定的,如果你遇到有個患有修改狂疾病的網管員,他可能對其做了修改,最好的方法是用phpinfo()這個函數看看,確認一下session.name一項的值,比較科學。

相關專題推薦php session (包含圖文、影片、案例)

以上是怎麼讓php中的session永不過期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn