我有一個PHP的網站,要求用戶登錄後才能訪問除主頁和幾個靜態頁面的其他所有內容的麻煩(關於我們,聯繫我們等)。幾位用戶表示,他們每隔幾分鐘就會使用該網站註銷 - 他們可以登錄,但幾分鐘後會再次顯示登錄表單。我自己無法證實這一點,因爲該網站似乎對我來說工作正常 - 甚至使用相同的瀏覽器,因爲它們和他們的帳戶 - 但我想知道這是否會成爲會話設置的問題?PHP會話的用戶被登出
根據phpinfo()函數,會話配置值:
session.auto_start = Off
session.bug_compat_42 = On
session.bug_compat_warn = On
session.cache_expire = 180
session.cache_limiter = nocache
session.cookie_domain = no value
session.cookie_httponly = Off
session.cookie_lifetime = 0
session.cookie_path =/
session.cookie_secure = Off
session.entropy_file = no value
session.entropy_length = 0
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.gc_probability = 1
session.hash_bits_per_character = 4
session.hash_function = 0
session.name = PHPSESSID
session.referer_check = no value
session.save_handler = files
session.save_path = /shared/sessions
session.serialize_handler = php
session.use_cookies = On
session.use_only_cookies = Off
session.use_trans_sid = 0
有什麼明顯的錯誤與上面的設置,這可能會導致用戶定期註銷? session.gc_maxlifetime看起來有點低,但是1440秒仍然是24分鐘,並且用戶正在被更頻繁地註銷。我們不檢查用戶的IP作爲會話處理的一部分,儘管辦公室仍然有靜態IP地址。
這是在Debian Lenny服務器上,PHP 5.2.6和Apache 2.2.9。
我似乎無法確認/重現自己的問題,這是主要的問題,真的 - 如果在一個頁面中(沒有,它只存在於註銷有類似session_destroy() ()函數)我希望它也會影響我。 – pwaring 2010-11-03 15:54:49