尝试注销CakePHP应用程序时出现以下错误:
Notice (8): Undefined property: UsersController::$Session [APP/controllers/users_controller.php, line 75]
Fatal error: Call to a member function setFlash() on a non-object in /Users/cameron/Sites/cakeapp/app/controllers/users_controller.php on line 75
Run Code Online (Sandbox Code Playgroud)
这是第74,75和76行的代码:
function logout() {
$this->Session->setFlash('Good-Bye');
$this->redirect($this->Auth->logout());
}
Run Code Online (Sandbox Code Playgroud)
mtn*_*rop 66
看起来您没有在Users控制器中加载Session组件.
默认情况下应加载Session组件,但如果您在AppController中设置组件数组,则会覆盖默认值.
这意味着,如果你有
var $components = array();
Run Code Online (Sandbox Code Playgroud)
在AppController中,确保Session组件包含在那里:
var $components = array('Session');
Run Code Online (Sandbox Code Playgroud)
或者,如果您不想在应用程序范围内使用Session组件,则可以在Users控制器中加载Session组件.