2012-10-21 176 views
1

我期待刪除我的網站上的PHP會話超時。的結果:刪除php會話超時

var_dump(ini_get('session.save_path')); var_dump(ini_get('session.gc_maxlifetime')); var_dump(ini_get('session.cookie_lifetime')); 

串(13) 「的/ var/lib中/ PHP5」 串(4) 「1440」 的字符串(1)爲 「0」

據I」論壇已經看到,session.cookie_lifetime設置爲0,超時應該已經是無限的了吧?

因此有兩個問題: 我需要設置哪些值來刪除會話超時? 而且...我知道我需要將代碼放入.htaccess中,但.htaccess需要在php會話中生效。

+0

你爲什麼這樣做?任何時候當有人清除瀏覽器緩存時,它會重置會話,因爲它們會丟失cookie。爲什麼要刪除會話超時? –

回答

0

我不確定PHP會話垃圾回收是如何工作的,但我不確定是否可以完全消除它。如果要保留會話,請在頁面上放置一些JS,以定期發出請求以保持會話新鮮。如果您的擔心是讓人們登錄的時間比這更長(可能在瀏覽器關閉後),則可以使用your own cookie

+0

該頁面用於修改大型數據庫表,所以我不想完全刷新,那麼什麼樣的代碼足以讓會話保持活躍而不會對用戶造成麻煩? –

+0

@KellyLarsen你不必刷新頁面本身,你可以有一些其他頁面什麼都不做,只是開始會話,並每隔幾分鐘就ping一下。 –

+0

只是有一個想法,如果我打電話一個PHP頁面,每5分鐘重新生成一次會話ID ......這將減少會話劫持了嗎?用一塊石頭殺死兩隻鳥... function KeepAlive() setTimeout(「CallServer()」,50); } 功能CallServer(){ 電話 regen.php } –