Cakephp没有显示调试消息

时间:2015-07-21 10:46:08

标签: php debugging cakephp

我在保存数据时遇到了一些麻烦。 要知道什么是错的,我想在我的控制器中使用debug($var)debug($this->myModel->validationErrors);,但它似乎没有给出任何回复。

我的情况是将一些数据发布到同一页面并保存数据

     //my controller
    if ($this->request->is('post')){
        debug($this->request->data);
      //here everything breaks with the message "Error: An Internal Error Has Occurred."
      if($this->Invoice->save($this->request->data)){
            $this->Session->setFlash('Good job, invoice is saved');
        }
     debug($this->Invoice->validationErrors);

    }

在视图结束时,我没有任何回应来显示调试,因为我还没有找到确实这样做的来源。

4 个答案:

答案 0 :(得分:2)

使用cakephp debugkit插件

https://github.com/cakephp/debug_kit

您也可以使用

进行配置
Configure::write('debug', 2);

尝试使用

打印输出
debug($data);
pr($data);

答案 1 :(得分:2)

代码中的某处必须将调试模式设置为0,例如: -

Configure::write('debug', 0);

它可能在app_controller或任何地方,因为它在你的控制器中不起作用。

尝试在控制器中设置Configure::write('debug', 1);以利用此功能。

  debug($this->Invoice->validationErrors);

答案 2 :(得分:0)

在Core.php文件中将调试级别设置为2

Configure::write('debug', 2);

或者修改数据库连接以确保启用编码,默认情况下将其注释掉

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'root',
    'password' => 'password',
    'database' => 'test',
    'prefix' => '',
    'encoding' => 'utf8',
);

答案 3 :(得分:0)

尝试:

debug($this->request->data); die();