Php 为什么Yii2会在“a”之后删除数据库中的会话条目;获得;或;邮政「;要求
我在同一个项目中有两个分支。这两个分支之间有一些细微的区别,但一个分支中的某些东西导致我的会话条目(存储在DB中)在任何类型的“获取”或“发布”请求中被删除—无论是单击链接还是仅仅执行浏览器刷新。我在另一个部门没有经历过这种行为Php 为什么Yii2会在“a”之后删除数据库中的会话条目;获得;或;邮政「;要求,php,session,yii2,Php,Session,Yii2,我在同一个项目中有两个分支。这两个分支之间有一些细微的区别,但一个分支中的某些东西导致我的会话条目(存储在DB中)在任何类型的“获取”或“发布”请求中被删除—无论是单击链接还是仅仅执行浏览器刷新。我在另一个部门没有经历过这种行为 我没有更改任何权限 我没有在控制器中添加需要添加权限的额外操作 一个分支与另一个分支正好有三个不同的文件—视图、控制器和模型 视图仅在更改的变量名称上有所不同-我在浏览器中没有看到未定义的错误,因此应该可以 在控制器中,我只分解了操作方法中的一个过程,以便调用其他方法
- 我没有更改任何权限
- 我没有在控制器中添加需要添加权限的额外
操作
- 一个分支与另一个分支正好有三个不同的文件—视图、控制器和模型
仅在更改的变量名称上有所不同-我在浏览器中没有看到视图
错误,因此应该可以未定义的
- 在
中,我只分解了控制器
方法中的一个过程,以便调用其他方法来处理不同的代码位,但始终返回到相同的操作
以操作
呈现所述
视图
- 我不会在代码的任何其他部分的任何时候清空会话
- 我确实设置了会话变量,但它们都正确地存储在数据库中相同的
条目中,直到从数据库中删除该条目为止\uu flash
$\u会话中的adminId
的检查失败,从而触发denyCallback
将我重定向到localhost
我调试了几乎所有提到$\u SESSION
或Yii::$app->SESSION
的地方,以及yii2/web/SESSION.php
中的所有地方。几个小时后,我找不到一个实例,它会主动清空$\u SESSION
变量,然后将其保存到数据库中
我认为这可能与pjax调用有关,但这不可能,因为我在一个分支中有相同的调用,其中会话条目始终保留
看起来请求失败了,浏览器一直在重试,直到最终放弃,然后不知何故,在某个地方从数据库中删除了我的会话。我没有理论了
任何指导都将不胜感激 您的两个应用程序是否都位于同一个域(localhost)上,并且登录到这两个应用程序会导致会话密钥无效和自动注销/会话删除?Jorgen,我正在运行phpstorm——每次切换分支并启动应用程序时,我要么停止上一个分支,要么单击“重新运行”,phpstorm就会自动终止上一个会话。您是否认为phpstorms终止应用程序时可能存在错误?