目前,我不知道它是一个错误还是一个功能?在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()
。
答案 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
对不起,这真的不是答案,只是想分享我找到的东西。