我目前正在使用cakephp应用程序中的导出功能,我正在进行查询,每个导出大约10,000行,哪个蛋糕可以处理但是debug_kit似乎使用了大量内存并且使用了超过128mb的内存.
我试过尝试在函数的顶部写这个,但debugkit仍然涉及并使用大量的内存.
Configure::write('debug',0);
Run Code Online (Sandbox Code Playgroud)
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')以包括要阻止调试的所有操作.
只是为了改善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)