Ⅰ Thinkphp 對session有效期的設置為什麼總不起作用
session的有效期是在服務端,所以需要修改php.ini文件中的session.gc_maxlifetime。
如session.gc_maxlifetime = 1440,默認表示緩存1440秒,把數字修改為你要緩存的秒數保存並重啟即可。
Ⅱ 怎麼設置session永不過期
方法/步驟
方法一:web app server中,如里可以設置超時時間為30分鍾。
方法二:在web.xml中的session-config配置
session-timeout元素(WEB.XML文件中的元素)用來指定默認的會話超時時間間隔,以分鍾為單位。該元素值必須為整數。如果 session-timeout元素的值為零或負數,則表示會話將永遠不會超時。如:
<session-config> <session-timeout>30</session-timeout></session-config> //30分鍾
方法三:setMaxInactiveInterval設置當前會話時間
setMaxInactiveInterval設置的是當前會話的失效時間,不是整個web的時間,單位為以秒計算。如果設置的值為零或負數,則表示會話將永遠不會超時。常用於設置當前會話時間。該優先順序要比方法三中的優先順序高。
方法四:session中保存一個bean或者map,裡面存儲上相應的過期時間,一旦過期,remove掉。
方法四可以通過一個線程去掃描,如果時間帶了,線程自動清除,或者用的時候進行判斷,用過後進行remove,如果使用線程自動remove,可以使用spring的線程池