PHP会话超时

use*_*341 5 php session session-variables session-timeout

有人可以解释如何使会话在PHP中持续更长时间,但不使用php.ini?

我在.htaccess中尝试了以下内容:

<IfModule mod_php5.c>
    #Session timeout
    php_value session.cookie_lifetime 3600
    php_value session.gc_maxlifetime 3600
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

ini_set('session.gc_maxlifetime', '3600');
Run Code Online (Sandbox Code Playgroud)

但它们似乎都没有起作用.

任何的想法?

use*_*341 8

好的 - 我找到了方法并且它有效 - 在.htaccess中我只是添加了以下内容以将超时时间增加到5小时:

php_value session.cookie_lifetime 18000
php_value session.gc_maxlifetime 18000
Run Code Online (Sandbox Code Playgroud)


mje*_*jec 7

在许多共享主机上,所有会话都存储在同一位置.由于垃圾收集的工作方式,这意味着在最短的GC间隔后,每个人的会话都会被删除.

一种解决方案是:

php_value session.save_path "/my/personal/path"
php_value session.gc_maxlifetime "3600"
Run Code Online (Sandbox Code Playgroud)

或者,您可以设置自定义会话保存处理程序.首先尝试更改保存路径,因为自定义处理程序有点棘手.