cakephp不同的布局对于相同的错误有不同的错误消息

cakephp不同的布局对于相同的错误有不同的错误消息,cakephp,layout,error-handling,themes,Cakephp,Layout,Error Handling,Themes,在默认布局中,您会收到缺少控制器的错误消息(这是正确的,因为该控制器不存在) 但是当我切换到另一个布局时,我得到的结果是:发生了一个内部错误。这是什么原因造成的?如何确保在自定义布局中获得默认错误消息 我使用cakephp 2.3.5,并在AppController.php的BeforeRenderer中使用此设置进行切换: $this->layout = 'admin'; 我唯一更改的是取消注释/注释是这一行。我用管理员主题中默认布局的副本测试了这个问题,但错误消息仍然不同 自定义布局

在默认布局中,您会收到缺少控制器的错误消息(这是正确的,因为该控制器不存在)

但是当我切换到另一个布局时,我得到的结果是:
发生了一个内部错误
。这是什么原因造成的?如何确保在自定义布局中获得默认错误消息

我使用cakephp 2.3.5,并在AppController.php的BeforeRenderer中使用此设置进行切换:

$this->layout = 'admin';
我唯一更改的是取消注释/注释是这一行。我用管理员主题中默认布局的副本测试了这个问题,但错误消息仍然不同

自定义布局的错误消息:

找不到控制器类GroupsController。错误:一个 发生内部错误

堆栈跟踪APP/webroot/index.php第109行→ 调度员->调度(CakeRequest,CakeResponse)

默认布局的错误消息:

缺少控制器错误:找不到GroupsController

错误:在文件中创建下面的类GroupsController: app/Controller/GroupsController.php

?php class GroupsController extends AppController {
}
注意:如果要自定义此错误消息,请创建 app/View/Errors/missing_controller.ctp

堆栈跟踪APP/webroot/index.php第109行→ 调度员->调度(CakeRequest,CakeResponse)

如中所示,您可以创建自定义的AppError来处理任何类型的错误,404未找到、控制器/组件/助手未找到、安全错误

我在AppController中执行了一个方法,用于检查视图名称是否存在错误

您可以使用:

if ( $this->name == 'CakeError' ) {
    $this->layout = 'cake';
    return;
}

如果您感到好奇,请参阅lib\Cake\View\Errors以获取可用的错误视图。

看起来很奇怪,布局更改与异常处理无关。。。难道您的自定义布局没有错误吗?或者AppController中的beforeRender有错误?是否已将调试设置为>2?也许了解问题所在会有所帮助。Debug设置为2。这似乎是相同的错误,只是一条不同的文本消息(好像debug不再设置为2)。我将修改我的问题并添加错误文本和布局代码。似乎我的自定义布局不是问题所在,我复制了默认布局,但错误消息仍然不同。问题是我不想要自定义错误消息,问题是切换布局时收到不同的错误消息。我期待着同样的信息