2011-06-12 91 views
5

我已經改變了我的Apache中的php.ini有這些設置:阿帕奇使會話超時長

session.gc_maxlifetime = 1440 
session.cache_expire = 1500 

但我的會話沒有那麼長。問題是,我不確定哪些設置會「訣竅」

理想情況下,我正在尋找正確的配置讓會話持續12小時。任何人都可以幫助我嗎?

謝謝!

回答

9

您是否還設置了session.cookie_lifetime = 0? 也許在你的腳本或某些包含腳本的地方會話生存期設置爲另一個值?

默認的「0」值表示cookie在瀏覽器關閉之前保持活動狀態。這也是默認值,如果沒有在php.ini中設置。 來源:http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime

+0

但我的應用程序不是隱式使用cookie。我是否仍然需要這種設置?爲什麼它應該是0?或者我應該將它從0改爲其他? – Genadinik 2011-06-12 19:45:55

+0

Cookie用於存儲小會話標識符,因爲HTML是無狀態的。這樣Apache可以請求cookie,如果該cookie可用並且仍然有效並且它的會話ID仍然有效,它可以繼續會話。 – 2011-06-12 19:49:30

1

看一看:

session.cookie_lifetime x 

其中x是在幾秒鐘壽命

另外,如果你是一個共享的主機上,確保會議數據在/ tmp下是沒有被主機用某種乾淨的腳本去除。有些主機每10分鐘清除/ tmp。