Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么Yii2会在“a”之后删除数据库中的会话条目;获得;或;邮政「;要求_Php_Session_Yii2 - Fatal编程技术网

Php 为什么Yii2会在“a”之后删除数据库中的会话条目;获得;或;邮政「;要求

Php 为什么Yii2会在“a”之后删除数据库中的会话条目;获得;或;邮政「;要求,php,session,yii2,Php,Session,Yii2,我在同一个项目中有两个分支。这两个分支之间有一些细微的区别,但一个分支中的某些东西导致我的会话条目(存储在DB中)在任何类型的“获取”或“发布”请求中被删除—无论是单击链接还是仅仅执行浏览器刷新。我在另一个部门没有经历过这种行为 我没有更改任何权限 我没有在控制器中添加需要添加权限的额外操作 一个分支与另一个分支正好有三个不同的文件—视图、控制器和模型 视图仅在更改的变量名称上有所不同-我在浏览器中没有看到未定义的错误,因此应该可以 在控制器中,我只分解了操作方法中的一个过程,以便调用其他方法

我在同一个项目中有两个分支。这两个分支之间有一些细微的区别,但一个分支中的某些东西导致我的会话条目(存储在DB中)在任何类型的“获取”或“发布”请求中被删除—无论是单击链接还是仅仅执行浏览器刷新。我在另一个部门没有经历过这种行为

  • 我没有更改任何权限
  • 我没有在控制器中添加需要添加权限的额外
    操作
  • 一个分支与另一个分支正好有三个不同的文件—视图、控制器和模型
  • 视图
    仅在更改的变量名称上有所不同-我在浏览器中没有看到
    未定义的
    错误,因此应该可以
  • 控制器
    中,我只分解了
    操作
    方法中的一个过程,以便调用其他方法来处理不同的代码位,但始终返回到相同的
    操作
    呈现所述
    视图
  • 我不会在代码的任何其他部分的任何时候清空会话
  • 我确实设置了会话变量,但它们都正确地存储在数据库中相同的
    \uu flash
    条目中,直到从数据库中删除该条目为止
将我的会话条目从数据库中删除的效果是,它会导致对
$\u会话中的
adminId
的检查失败,从而触发
denyCallback
将我重定向到
localhost

我调试了几乎所有提到
$\u SESSION
Yii::$app->SESSION
的地方,以及
yii2/web/SESSION.php
中的所有地方。几个小时后,我找不到一个实例,它会主动清空
$\u SESSION
变量,然后将其保存到数据库中

我认为这可能与pjax调用有关,但这不可能,因为我在一个分支中有相同的调用,其中会话条目始终保留

看起来请求失败了,浏览器一直在重试,直到最终放弃,然后不知何故,在某个地方从数据库中删除了我的会话。我没有理论了


任何指导都将不胜感激

您的两个应用程序是否都位于同一个域(localhost)上,并且登录到这两个应用程序会导致会话密钥无效和自动注销/会话删除?Jorgen,我正在运行phpstorm——每次切换分支并启动应用程序时,我要么停止上一个分支,要么单击“重新运行”,phpstorm就会自动终止上一个会话。您是否认为phpstorms终止应用程序时可能存在错误?