当前位置: 首页 > 知识库问答 >
问题:

yii2中的会话出错

柳晔
2023-03-14

我将会话保存在yii2中的mysql db中,但有时会出现错误问题،我认为会话会在一段时间内破坏并显示错误消息,当我刷新页面时,问题就解决了

错误消息:

PHP通知'yii\base\ErrorExc0019',消息'Un定义属性:应用程序\组件\用户::$id'在D:\xampp\htdocs\MyTrip\app\组件\User.php:39堆栈跟踪:#0 D:\xampp\htdocs\MyTrip\app\组件\User.php(39): yii\base\ErrorHandler-

配置会话数据库

'session' => [
        //'class' => 'yii\mongodb\Session',
        //'class' => 'yii\web\Session',
        'class' => 'yii\web\DbSession',
        'writeCallback' => function($session)
        {
            return [
                'user_id' => Yii::$app->user->id,
                'agent' => Yii::$app->request->getUserAgent(),
                'ip' => Yii::$app->request->getUserIP(),

                //'auth_key' => Yii::$app->security->generateRandomString(),
            ];
        }
    ],

共有2个答案

郎飞龙
2023-03-14

超时是在会话中定义的。不是在书面中。回调

数据库中的字段除外。这不会在“会话过期”时起作用。

'session' => [
    //'class' => 'yii\mongodb\Session',
    //'class' => 'yii\web\Session',
    'class' => 'yii\web\DbSession', 
    'timeout' => 3600*4, //session expire
    'writeCallback' => function($session)
    {
        #code .... Database field
    }
],
夹谷鸿福
2023-03-14

您可以使用以下命令控制会话超时

“超时”=

'session' => [
    //'class' => 'yii\mongodb\Session',
    //'class' => 'yii\web\Session',
    'class' => 'yii\web\DbSession',
    'writeCallback' => function($session)
    {
        return [
            'user_id' => Yii::$app->user->id,
            'agent' => Yii::$app->request->getUserAgent(),
            'ip' => Yii::$app->request->getUserIP(),
            //'auth_key' => Yii::$app->security->generateRandomString(),

            'timeout' => 3600*4, //session expire

        ];
    }
],

 类似资料:
  • 成功登录后,我想用新的url继续进行进一步的请求处理。但url正在调用springmvc中的公开服务,其中的安全配置不会检查会话身份验证以获取传入url。请看下面的代码。 当jsp页面提交登录验证时,J_security_check调用目标url,该URL随后调用拦截器模式/home*并验证登录凭证。 如果我在登录之前调用公开的服务“/address/userid/”,它将直接调用服务方法,使其成

  • 我是selenium库的新手,请帮助我解决这个错误来启动一个使用selenium的firefox会话。 这是我目前为止的代码 而发生的错误是 回溯(最近一次调用):文件“C:\users\yash\appdata\local\programs\python\python36-32\lib\site-packages\selenium\webdriver\common\service.py”,第74

  • 我正在尝试使用kartik export,但它对我不起作用。在配置文件中,我添加了以下代码: 在Composer中,我添加了以下代码 我的视图代码是这样的: 我的控制器代码是: 点击导出菜单什么都没有发生。在教程中,我看到有选项导出到pdf,html,csv,json,text.such选项不应用程序在我的情况下。CSS不起作用还是怎么的?

  • 我使用的是高级的Yii2模板,当我在构建后运行测试时,我遇到了以下问题。 我不知道名字空间是什么,所以请你向我解释一下它是什么。 错误 codeception.yml

  • 我正在使用JPAContainer和Hibernate4.3开发一个Vaadin webapp。我遵循了这个链接的说明,成功地实现了EntityManager-per-Request模式。这意味着惰性加载可以很好地用于JPAContainer 但是,每次我需要使用纯JPA时,它都无法延迟负载。 下面是一个示例代码: 另外,当我从JPAContainer中移除实体时,我会收到一个错误:org.hib

  • 我想在我的应用程序中实现会话。这是我的代码: 但它返回错误: C:\User\User\Desktop\manajemen-event-master\node_modules\express\lib\application.js:210抛出新的TypeError('app.use()需要中间件函数');^ TypeError:_extensions()需要中间件函数在EventE_load(C:\