相关疑难解决方法(0)

如何在30分钟后使PHP会话到期?

我需要让会话保持30分钟,然后将其销毁.

php cookies session

1017
推荐指数
11
解决办法
93万
查看次数

PHP会话超时太快

我在我的网站上使用php Sessions,似乎它们随机间隔"消失".我不知道他们是否由于不活动或我的代码出现问题而超时,但是有没有办法控制会话到期时的会话?

就像我可以在我的代码中添加一些内容或更改php.ini文件中的内容一样?

更新 -所以只是在这里更新,我切换主机,神奇地会话开始工作.我不知道出了什么问题,但显然他们不想正常工作.

php session

34
推荐指数
3
解决办法
8万
查看次数

即使我正在工作,会话生命周期,Ajax和Symfony2,会话也会过期

如果用户在10分钟内不执行任何操作,我已将应用程序配置为在超时时关闭会话.在config.yml我有这样的:

session:
    handler_id:  ~
    cookie_lifetime: 600 # 10 minutes
    gc_maxlifetime: 600 # 10 minutes
    gc_probability: 1
    gc_divisor: 1
Run Code Online (Sandbox Code Playgroud)

我每隔一分钟进行一次Ajax调用,以检查会话是否即将到期或不会过期,这是我检查的内容:

public function isLoggedInAction(Request $request)
{
    $response = array();
    $response['authenticated'] = FALSE;
    $status = 200;
    $securityContext = $this->container->get('security.context');
    if ($securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
        $response['authenticated'] = TRUE;
    }

    return new JsonResponse($response, $status ?: 200);
}
Run Code Online (Sandbox Code Playgroud)

由于一些不知情的原因不起作用,每10分钟会话都关闭,无论我是在使用页面还是不在,为什么?我错过了什么?

编辑1尝试新值,仍然无效:

session:
    handler_id:  ~
    cookie_lifetime: 1800
    gc_maxlifetime: 600
    gc_probability: 1
    gc_divisor: 100
Run Code Online (Sandbox Code Playgroud)

当我在页面上工作,执行Ajax调用和一些其他任务时,会话已关闭,因此无法正常工作.显然对我来说唯一有用的价值就是设置cookie_lifetime: 86400 #1 day,这对我来说很疯狂!

编辑2在 …

php ajax session symfony

8
推荐指数
1
解决办法
2476
查看次数

标签 统计

php ×3

session ×3

ajax ×1

cookies ×1

symfony ×1