即使设置了更高的值,PHP会话超时也会提前发生

时间:2014-06-24 12:19:39

标签: php .htaccess session timeout

我在htaccess文件中添加了以下行:

php_value session.cookie_lifetime 14400
php_value session.gc_maxlifetime 14400

还在根目录中添加了一个php.ini文件,其中包含以下代码:

session.gc_maxlifetime = 14400
session.cookie_lifetime = 14400

另外在php代码里面添加了以下几行:

ini_set('session.cookie_lifetime',14400);
ini_set('session.gc_maxlifetime',14400);
setcookie("_lid", $lid, time() + 14400);

所以基本上会话应该工作4个小时。但它在大约24分钟左右超时,这是php中的默认超时时间。

我可能会遗漏一些东西。如果有人可以提供一些意见,那就太好了。

由于

1 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题-设置了session.gc_maxlifetime和session.cookie_lifetime值,但似乎没有兑现……然后,我发现了一个关于旧线程的注释,显然这需要更多的识别: / p>

How do I expire a PHP session after 30 minutes?

  

请注意,至少两项设置对于设置   会话时间,也许是三个。两个必不可少的是   session.gc_maxlifetime和session.cookie_lifetime(其中0不是   与一些长号相同)。完整,确定的允许   时间长了,可能还需要设置session.save_path   到/ tmp目录中变化的操作系统控制的清除时间,其中   会话文件默认情况下被存储。 – @Kzqai 2011年4月7日在8:04