使用debug()会导致CakeException'已发送消息'已发送标题'在CakePHP 2.6.0上

时间:2014-12-29 09:28:28

标签: cakephp

目前,我不知道它是一个错误还是一个功能?在CakePHP 2.6上,当我尝试在任何控制器中使用debug()中的basics.php方法时,我收到消息:

  

应用程序错误:调用处理程序方法异常' CakeException'   已发送消息'标题已发送   第120行' /Applications/MAMP/htdocs/cakephp26/lib/Cake/basics.php   在   /Applications/MAMP/htdocs/cakephp26/lib/Cake/Network/CakeResponse.php:523   堆栈跟踪:#0   /Applications/MAMP/htdocs/cakephp26/lib/Cake/Network/CakeResponse.php(419):   CakeResponse-> _sendHeader(' HTTP / 1.1 200 OK')#1   /Applications/MAMP/htdocs/cakephp26/lib/Cake/Routing/Dispatcher.php(174):   CakeResponse-> send()#2   /Applications/MAMP/htdocs/cakephp26/app/webroot/index.php(118):   Dispatcher-> dispatch(Object(CakeRequest),Object(CakeResponse))#3   {主要}

在早期版本的CakePHP中,除了视图之外,其他地方允许debug()

1 个答案:

答案 0 :(得分:2)

我已经确认这是一个“功能”,不在2.5.8中,但只在2.6.0(目前)中。

以下代码将在2.6.0中抛出异常,但不会在版本< 2.6.0

public function getposts() {
    $this->autoRender = false;
    $data = $this->Post->query("SELECT * FROM posts");
    pr($data); // or echo json_encode($data);
}

根据这个“特性”的作者,我们现在需要在我们的方法结束时添加exit()或die(),这些方法在控制器中使用pr(),echo,debug()等,现在使用&gt ; = 2.6.0和Debug> 0

对不起,这真的不是答案,只是想分享我找到的东西。