我的服务器提供商已从数据中心迁移。移动时出错了,我们专用数据库服务器的电源供应失败。他们将新的虚拟数据库设置为备份计划,以便我们继续坚持下去。我放回了数据的备份。然而,在此之后,Yii会话似乎不再起作用了。只是为了指定,只有数据库受到影响。我的代码就是这样,没有任何改变。
当我尝试框架之外的东西时:
session_start();
$_SESSION["test"] = 100;
这仍然有效。它将存储,我可以像你期望的那样使用会话变量。但是当我使用像Yii::app()->session["test"] = 100
这样的Yii代码时。我记不清了数据。
额外信息
is_writable(Yii::app()->session->savePath)
中测试,返回true)有什么建议可能出错吗?数据库服务器更改后出现问题似乎很奇怪。
BIG NOTE:注意到在某些设置文件中有一个component-> session。看来我们使用自定义的HttpSession。我猜问题可能在那里。将看起来通过它(看看为什么以前的开发人员决定为此创建一个自定义类)然后使用默认选项,看看是否修复它。
答案 0 :(得分:0)
看来我们在哪里使用自定义类。我禁用了此功能,只是添加了设置
'session' => array (
'autoStart' => true,
),
这似乎现在有效。如果我在自定义类中找到导致此问题的特定内容,则会编辑此答案。事实仍然是这很奇怪。我甚至都不知道这个自定义类,更不用说改变它了。