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

发布于 2024-11-16 12:50:10 字数 171 浏览 0 评论 0原文

我搞乱了我的 apache 和 php.ini 文件,我的网站的用户仍然抱怨网站在很短的时间后或每次关闭并打开同一个浏览器时都会将他们注销。

我正在运行 Apache 和 PHP。

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

谢谢, 亚历克斯

I have messed around with my apache and php.ini file and my site's users still complain about the site logging them out after a very short time or every time they close and open the same browser.

I am running Apache and PHP.

What settings should I have in order to make the users session go for 24 hours so they don't have to re-log in every time?

Thanks,
Alex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

很快妥协 2024-11-23 12:50: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 

In php.ini, set:

; 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 
如痴如狂 2024-11-23 12:50:10

奇怪的。会话应该停留相当长的时间。
尝试检查您的代码是否有任何意外的 session_destroy()。

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

setcookie(name, value, expire); 

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

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

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

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

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

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

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

希望这有帮助!

Strange. Sessions should stay for quite a long time.
Try checking your code for any accidental session_destroy()s.

If that doesn't work, then maybe try using cookies:

setcookie(name, value, expire); 

So, to set a cookie variable in PHP, you would simple use

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

The expire value is in seconds. Using the code above, you would be able to set a cookie called "MyCookie" with the value "MyValue" and lasts for 24 hours.

To retrieve the value of this cookie, you could use

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

Note that cookies MUST be set before the tag is called.

If cookies don't work either, then it's probably a problem with your php.ini
Can you post your php.ini if cookies don't work?

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文