Php 使登录会话持续1年

Php 使登录会话持续1年,php,session,Php,Session,我希望我的网站的登录会话能持续很长时间,比如一年。我的索引文件中有下面的代码 问题是,我在大约30分钟的不活动后就退出了我的网站 如何使登录会话持续1年 session_set_cookie_params(31536000, '/', 'www.domain.com'); session_start(); 另外,我的php.ini文件中有以下代码: session.gc_maxlifetime = 31536000 session.cookie_lifetime = 31536000 编辑.

我希望我的网站的登录会话能持续很长时间,比如一年。我的索引文件中有下面的代码

问题是,我在大约30分钟的不活动后就退出了我的网站

如何使登录会话持续1年

session_set_cookie_params(31536000, '/', 'www.domain.com');
session_start();
另外,我的php.ini文件中有以下代码:

session.gc_maxlifetime = 31536000
session.cookie_lifetime = 31536000

编辑.htaccess文件以添加此行

php_value session.gc_maxlifetime 31536000

31536000秒是一年

嗯。。。如果你这样做了,并且它起作用了,那么一个用户会花整整一年的时间登录到你的系统,但在那一年之后却神秘地注销了


相反,为什么不把它存储在一个更合理的时间,比如24小时,或者干脆不使用默认值呢。然后,在cookie即将过期时重新发送它。这将有效地让用户永久登录,只要他们确实处于活动状态。

您真的不想正常登录。想想所需的存储空间。您可以存储一个cookie&让某人重新登录,但要存储一年的所有会话数据吗?那么,您可以:(1)在共享主机上,定义您自己的会话保存目录。确保它不是重新启动时删除的目录(如
/tmp
通常是)(2)将gc maxlifetime设置为一年。@Wrikken我如何让用户永久登录到Facebook?(除非他们手动单击注销按钮)通过(1)使用随机令牌创建cookie&(2)将该令牌存储在某个地方&使用它的用户id(数据库、文件等)。然后,如果用户访问您的站点,没有会话,或者会话中没有用户,请检查该cookie,如果它存在并指向用户,请登录该用户。@JaredFarrish:因为我只想关闭该问题,而不想让另一个问题让我登录。一旦我投票决定结束,这就是我对它的标准评价,这很适合我。人们应该阅读所有答案,而不仅仅是最高或被接受的答案;)@瑞肯-那是开玩笑。而且,你知道,当一个糟糕的答案被接受而不是一个优秀的答案时,有时是令人恼火的。一年实际上是31556736秒。大致上。实际上,我希望登录是永久的,除非用户手动注销。因此,这是一次常设会议。有可能吗?我刚才就是这么告诉你的。每隔一段时间重新发送一次cookie,让他们保持登录状态。那么,那些极度不安的用户将需要每隔一段时间访问一次,以重新生成或恐惧,使用密码。显然,工作太多了。