PHP 会话超时
有人可以准确解释如何在 PHP 中使会话持续更长时间,但不使用 php.ini 吗?
我在 .htaccess 中尝试了以下操作:
<IfModule mod_php5.c>
#Session timeout
php_value session.cookie_lifetime 3600
php_value session.gc_maxlifetime 3600
</IfModule>
我也尝试过:
ini_set('session.gc_maxlifetime', '3600');
但它们似乎都不起作用。
有什么想法吗?
Can someone explain exactly how to make the session to last for longer in PHP, but without using php.ini?
I've tried the following in .htaccess:
<IfModule mod_php5.c>
#Session timeout
php_value session.cookie_lifetime 3600
php_value session.gc_maxlifetime 3600
</IfModule>
I've also tried:
ini_set('session.gc_maxlifetime', '3600');
But none of them seem to be working.
Any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好的 - 我已经找到了方法并且它有效 - 在 .htaccess 中我只是添加了以下内容以将超时增加到 5 小时:
Ok - I've found the way and it works - in the .htaccess I simply added the following to increase the timeout to 5 hours:
在许多共享主机上,所有会话都存储在同一位置。由于垃圾收集的工作方式,这意味着每个人的会话都会在最短的 GC 间隔后被删除。
一种解决方案是:
或者您可以设置自定义会话保存处理程序。首先尝试更改您的保存路径,因为自定义处理程序有点棘手。
On many shared hosts all sessions are stored in the same location. Because of the way garbage collection works, this means everyone's sessions get deleted after the shortest GC interval.
One solution is to do:
Alternatively you can set a custom session save handler. Try changing your save path first, because custom handlers are a bit trickier.
与 php-fpm 结合使用,您可以使用
.user.ini
而不是目录中的 .htaccess 文件(像 .htaccess 文件一样递归工作)。请参阅此内容,了解更改值后何时应用这些值。
In conjunction with php-fpm you can use
.user.ini
instead of the .htaccess file in the directory (works recursive like the .htaccess file).See this to find out when the values gets applied if you change them.