這篇文章將為大家詳細(xì)講解有關(guān)php會(huì)話時(shí)間怎么設(shè)置,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),長(zhǎng)沙縣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:長(zhǎng)沙縣等地區(qū)。長(zhǎng)沙縣做網(wǎng)站價(jià)格咨詢:18980820575
php會(huì)話時(shí)間的設(shè)置方法:首先打開(kāi)php.ini,并查找Session設(shè)置部分;然后通過(guò)設(shè)置“session.gc_maxlifetime”來(lái)設(shè)定Session的生存周期即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php設(shè)置session(過(guò)期、失效、有效期)
在php中設(shè)置session有很多方面包有給session設(shè)置值或直接設(shè)置過(guò)期、失效和有效期,下面小編來(lái)給大家給各位朋友介紹怎么使用。
我們先來(lái)看看在php.ini中session怎么設(shè)置,打開(kāi) php.ini,查找Session設(shè)置部分中以下一項(xiàng),代碼如下:
session.save_path = "N;/path" session.save_path = "C:/Temp" #此處以你自己設(shè)定的路徑為準(zhǔn)
這項(xiàng)設(shè)置提供給我們可以給session存放目錄進(jìn)行多級(jí)散列,其中“N”表示要設(shè)置的目錄級(jí)數(shù),后面的“/path”表示session文件存放的根目錄路徑,比如我們?cè)O(shè)置為下面的格式,代碼如下:
session.save_path = "2;C:/Temp"
上面的設(shè)置表示我們把php的session文件進(jìn)行兩級(jí)目錄存儲(chǔ),每一級(jí)目錄分別是0-9和a-z共36個(gè)字母數(shù)字為目錄名,這樣存放session的目錄可以達(dá)到36*36個(gè),共1332個(gè)文件夾,相信作為單臺(tái)服務(wù)器來(lái)說(shuō),這是完全夠用了,如果說(shuō)您的系統(tǒng)架構(gòu)設(shè)計(jì)為多臺(tái)服務(wù)器共享session數(shù)據(jù),可以把目錄級(jí)增加到3級(jí)或者更多。
Session過(guò)期時(shí)間設(shè)定
繼續(xù)PHP中的Session話題,在PHP中主要通過(guò)設(shè)置session.gc_maxlifetime來(lái)設(shè)定Session的生存周期,例如如下代碼:
<?php ini_set ( 'session.gc_maxlifetime' , 3600); //設(shè)置時(shí)間 ini_get ( 'session.gc_maxlifetime' ); //得到ini中設(shè)定值 ?>
下面提供一個(gè)別人封裝好的函數(shù),但是我沒(méi)有測(cè)試過(guò),僅供參考,代碼如下:
<?php function start_session( $expire = 0) { if ( $expire == 0) { $expire = ini_get ( 'session.gc_maxlifetime' ); } else { ini_set ( 'session.gc_maxlifetime' , $expire ); } if (emptyempty( $_COOKIE [ 'PHPSESSID' ])) { session_set_cookie_params( $expire ); session_start(); } else { session_start(); setcookie( 'PHPSESSID' , session_id(), time() + $expire ); } } ?>
使用方法:
加入start_session(600);//600秒以后過(guò)期。
session永不過(guò)期的方法
打開(kāi)php.ini設(shè)置文件,修改三行如下:
1、session.use_cookies
把這個(gè)的值設(shè)置為1,利用cookie來(lái)傳遞sessionid
2、session.cookie_lifetime
這個(gè)代表SessionID在客戶端Cookie儲(chǔ)存的時(shí)間,默認(rèn)是0,代表瀏覽器一關(guān)閉SessionID就作廢……就是因?yàn)檫@個(gè)所以PHP的session不能永久使用! 那么我們把它設(shè)置為一個(gè)我們認(rèn)為很大的數(shù)字吧,999999999怎么樣,可以的!就這樣。
3、session.gc_maxlifetime
這個(gè)是Session數(shù)據(jù)在服務(wù)器端儲(chǔ)存的時(shí)間,如果超過(guò)這個(gè)時(shí)間,那么Session數(shù)據(jù)就自動(dòng)刪除!那么我們也把它設(shè)置為99999999。
就這樣一切ok了,當(dāng)然你不相信的話就測(cè)試一下看看——設(shè)置一個(gè)session值過(guò)個(gè)10天半個(gè)月的回來(lái)看看,如果你的電腦沒(méi)有斷電或者宕機(jī),你仍然可以看見(jiàn)這個(gè)sessionid。
當(dāng)然也可能你沒(méi)有控制服務(wù)器的權(quán)限并不能像我一樣幸運(yùn)的可以修改php.ini設(shè)置,一切依靠我們自己也是有辦法的,當(dāng)然就必須利用到客戶端存儲(chǔ)cookie了,吧得到的sessionID存儲(chǔ)到客戶端的cookie里面,設(shè)置這個(gè)cookie的值,然后把這個(gè)值傳遞給session_id()這個(gè)函數(shù),具體做法如下:
<?php session_start(); // 啟動(dòng)Session $_SESSION [ 'count' ]; // 注冊(cè)Session變量Count isset( $PHPSESSID )?session_id( $PHPSESSID ): $PHPSESSID = session_id(); // 如果設(shè)置了$PHPSESSID,就將SessionID賦值為$PHPSESSID,否則生成SessionID $_SESSION [ 'count' ]++; // 變量count加1 setcookie( 'PHPSESSID' , $PHPSESSID , time()+3156000); // 儲(chǔ)存SessionID到Cookie中 echo $count ; // 顯示Session變量count的值
關(guān)于“php會(huì)話時(shí)間怎么設(shè)置”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)站題目:php會(huì)話時(shí)間怎么設(shè)置
網(wǎng)站網(wǎng)址:http://m.newbst.com/article16/jodhdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航、服務(wù)器托管、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)