会话已启动,但未在Cakephp中找到
我有一个我工作的应用程序遇到了一个问题,随机加载一个空白页 我发现beforeFilter函数会启动,但它从未进入当时正在调用的控制器的操作中。我还发现,发生这种情况时无法找到会话。session_status返回PHP_session_NONE。当重新加载页面时,php可以神奇地再次找到会话,页面正常加载 感谢您的帮助。如果你需要/想要更多信息,请告诉我 编辑: AppController前置过滤器会话已启动,但未在Cakephp中找到,php,session,cakephp,Php,Session,Cakephp,我有一个我工作的应用程序遇到了一个问题,随机加载一个空白页 我发现beforeFilter函数会启动,但它从未进入当时正在调用的控制器的操作中。我还发现,发生这种情况时无法找到会话。session_status返回PHP_session_NONE。当重新加载页面时,php可以神奇地再次找到会话,页面正常加载 感谢您的帮助。如果你需要/想要更多信息,请告诉我 编辑: AppController前置过滤器 public function beforeFilter() { paren
public function beforeFilter() {
parent::beforeFilter();
// Log all access to applictaion
$this->AccessLog->logPageAccess($this->request, $this->Session);
// Read the app's desired datetime display and set as view variable for TimeHelper use.
if(Configure::check('Datetime.dateDisplayFormat')) {
$timeFormat = Configure::read('Datetime.dateDisplayFormat');
$this->set(compact('timeFormat'));
}
}
找到会话时会话身份验证用户
array(
'password' => '*****',
'id' => '44',
'role_id' => '5',
'username' => 'user',
'password_token' => null,
'email' => 'user@example.com',
'email_verified' => true,
'email_token' => null,
'email_token_expires' => null,
'active' => true,
'is_login_locked' => false,
'last_login' => '2015-02-04 16:41:47',
'last_action' => null,
'created' => '2014-07-07 12:45:46',
'modified' => '2015-02-04 16:41:47',
'created_by' => '19',
'modified_by' => '44',
'deleted' => false,
'deleted_date' => null,
'account_locked' => false,
'lu_theme_id' => '4',
'first_name' => 'Joe',
'last_name' => 'Bloggs',
'Role' => array(
'id' => '1',
'name' => 'User',
'is_admin' => false
)
)
$\u找不到时的会话
array()
您是否在负载平衡器下运行服务器阵列?我以前在这种类型的环境中看到过会话奇怪的情况。我们的生产环境是这样运行的,但这个问题也发生在我们的开发服务器上,它也是一台服务器。您能否将beforeFilter函数粘贴到这里,并简要描述您在会话中存储的内容?i、 e.是否由该组件构建?如果只有登录用户才能访问变为空白的视图,或者通过beforeFilter将其解锁,那么这种情况是否会发生在所有地方,还是只发生在特定的控制器/视图上?这种情况在应用程序中随处可见。请参阅上面的“编辑”以获取所需的代码。我想您在任何地方都运行相同的beforeFilter?如果运行debug,您会得到任何反馈吗?例如,您是否尝试过放置一个测试变量,并查看调试是否在出现问题时将其打印到屏幕上?当错误发生时,你会得到一个白色的死亡屏幕吗?在这种情况下,代码在某个地方失效了。如果是这样的话,我会试着注释掉记录访问的那行代码,看看bug是否还在继续——也许有什么东西掉在这里了。