在控制器操作中关闭debug_kit,Cakephp

Sha*_*ard 5 cakephp

我目前正在使用cakephp应用程序中的导出功能,我正在进行查询,每个导出大约10,000行,哪个蛋糕可以处理但是debug_kit似乎使用了大量内存并且使用了超过128mb的内存.

我试过尝试在函数的顶部写这个,但debugkit仍然涉及并使用大量的内存.

Configure::write('debug',0);
Run Code Online (Sandbox Code Playgroud)

Ben*_*son 9

HyperCas在建议将beforeFilter()回调作为适当的解决方案时是正确的.

在操作(即导出)所在的控制器中,代码看起来像这样:

function beforeFilter() {
    // filter actions which should not output debug messages
    if(in_array($this->action, array('export'))) {
        Configure::write('debug', 0);
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以调整array('export')以包括要阻止调试的所有操作.


Ham*_*ari 9

只是为了改善Benjamin Pearson的答案.卸载组件而不是关闭调试.

public function beforeFilter() {
    parent::beforeFilter();

    if(in_array($this->action, array('export'))) {
        $this->Components->unload('DebugKit.Toolbar');
    }
}
Run Code Online (Sandbox Code Playgroud)