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,谢谢

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

php_value session.cookie_lifetime "10"

在 PHP 中,您可以使用session_set_cookie_params().见session_set_cookie_params

最新更新