htaccess设置会话超时

时间:2018-06-19 22:04:25

标签: php .htaccess

我需要设置会话超时,至少需要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 个答案:

答案 0 :(得分:0)

.htaccess中,您需要将session.cookie_lifetime设置为字符串

php_value session.cookie_lifetime "10"

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