.htaccess设置会话超时时间

3

我需要设置会话超时时间,至少需要8小时,并且我无法访问php.ini文件,那么是否可以在.htaccess中完成?

这是我的.htaccess文件,10只是为了测试,10秒后会话仍然有效,所以我认为没有正确设置值。

<IfModule mod_php5.c>
    #Session timeout
    php_value session.cookie_lifetime 10
    php_value session.gc_maxlifetime 10
</IfModule>

# Run Php without filename extension
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

这是 PHP 代码:

<?php
ini_set('session.cookie_lifetime', 10);
ini_set('session.gc_maxlifetime', 10);
session_start();
if(!isset($_SESSION['a'])){
    header("Location: login");
}

我该如何实现这个?顺便提一下,服务器正在运行PHP 5.6,谢谢。
1个回答

1
.htaccess 文件中,你需要将 session.cookie_lifetime 设置为字符串。
php_value session.cookie_lifetime "10"

在 PHP 中,您可以使用 session_set_cookie_params() 进行设置。请参见 session_set_cookie_params


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接