如何让用户会话持续24小时?

时间:2011-06-21 18:58:43

标签: php apache session web-applications

我已经搞乱了我的apache和php.ini文件,我的网站的用户仍抱怨网站在很短的时间内或每次关闭并打开同一个浏览器时将其记录下来。

我正在运行Apache和PHP。

我应该使用哪些设置才能让用户会话进行24小时,这样他们就不必每次都重新登录?

谢谢, 亚历

2 个答案:

答案 0 :(得分:10)

在php.ini中,设置:

; 24 hour session cookie
session.cookie_lifetime = 86400

; Prevent server from cleaning up session
; Some value higher than the cookie lifetime
session.gc_maxlifetime = 200000 

答案 1 :(得分:3)

奇怪。会议应该保持相当长的时间。 尝试检查代码是否有意外的session_destroy()s。

如果这不起作用,那么可以尝试使用cookies:

setcookie(name, value, expire); 

因此,要在PHP中设置cookie变量,您可以简单地使用

<?php
    setcookie("MyCookie", "MyValue", time()+60*60*24); 
?>

过期值以秒为单位。使用上面的代码,您可以设置名为“MyCookie”的cookie,其值为“MyValue”,持续24小时。

要检索此Cookie的值,您可以使用

<?php
    print($_COOKIE['MyValue']);
?>

请注意,必须在调用标记之前设置cookie。

如果cookie也不起作用,那么你的php.ini可能有问题 如果cookie不起作用,你可以发布你的php.ini吗?

希望这有帮助!