您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何實現(xiàn)php session不過期,文章內(nèi)容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
php session不過期的實現(xiàn)方法:首先利用客戶端存儲cookie;然后把得到的sessionID存儲到客戶端的cookie里面;接著設置cookie的值;最后把值傳遞給“session_id()”函數(shù)即可。
PHP中的session永不過期的解決思路及實現(xiàn)方法分享
打開php.ini設置文件,修改三行如下:
相關
1、session.use_cookies
把這個的值設置為1,利用cookie來傳遞sessionid
2、session.cookie_lifetime
這個代表SessionID在客戶端Cookie儲存的時間,默認是0,代表瀏覽器一關閉SessionID就作廢……就是因為這個所以PHP的 session不能永久使用! 那么我們把它設置為一個我們認為很大的數(shù)字吧,999999999怎么樣,可以的!就這樣。
3、session.gc_maxlifetime
這個是Session數(shù)據(jù)在服務器端儲存的時間,如果超過這個時間,那么Session數(shù)據(jù)就自動刪除! 那么我們也把它設置為99999999。
就這樣一切ok了,當然你不相信的話就測試一下看看——設置一個session值過個10天半個月的回來看看,如果你的電腦沒有斷電或者宕機,你仍 然可以看見這個sessionid。
當然也可能你沒有控制服務器的權限并不能像我一樣幸運的可以修改php.ini設置,一切依靠我們自己也是有辦法的,當然就必須利用到客戶端存儲 cookie了,吧得到的sessionID存儲到客戶端的cookie里面,設置這個cookie的值,然后把這個值傳遞給session_id()這 個函數(shù),具體做法如下:
<?php session_start(); // 啟動Session $_SESSION['count']; // 注冊Session變量Count isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); // 如果設置了$PHPSESSID,就將SessionID賦值為$PHPSESSID,否則生成SessionID $_SESSION['count']++; // 變量count加1 setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // 儲存SessionID到Cookie中 echo $count; // 顯示Session變量count的值 ?>
注意:在setcookie一行中的'PHPSESSID'并不是一定的,有可能對其做了修改,最好的方法是用phpinfo()這個函數(shù)看看,確認一下session.name一項的值,比較科學。
關于如何實現(xiàn)php session不過期就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。