【问题标题】:How to get starting time of session in CakePHP?如何在 CakePHP 中获取会话的开始时间?
【发布时间】:2014-10-13 08:38:08
【问题描述】:

我需要知道当前会话何时开始。
我可以像这样存储该值:

$this->Session->write('sessionStartTime', time());

但我应该在什么时候将此代码添加到 CakePHP 2.4.6 中?
我应该添加到 AppController 的 beforeFilter() 还是有更好的地方放置它?
还是 CakePHP 提供会话开始时间?

编辑:
还有一个像这样的低级解决方案。
但我不喜欢,因为它取决于会话存储类型。

$timestamp = filemtime( TMP.'sessions'.DS.'sess_'.session_id() );

【问题讨论】:

  • 为什么不在您的登录操作中添加它!
  • 请始终提及您的确切 CakePHP 版本并相应地标记您的问题!
  • @ndm 对不起。版本 2.4.6

标签: php session cakephp cakephp-2.4


【解决方案1】:

Session.timeout - CakePHP 的会话处理程序使会话过期之前的分钟数。这会影响 Session.autoRegenerate(如下),并由 CakeSession.please visit the official documentation 处理

和 cookie

Session.cookieTimeout 值。虽然 php 会话仍然有效,但会话 cookie 上的过期日期不会被刷新

【讨论】:

  • 会话超时对我来说并不重要。我只需要知道会话何时开始。
【解决方案2】:

当前会话的开始时间可通过CakeSession::$time 获得。在会话开始之前,它将是false

【讨论】:

    猜你喜欢
    • 2016-07-10
    • 2015-01-31
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2019-08-06
    相关资源
    最近更新 更多