Pregunta Desactivando el debug_kit dentro de la acción del controlador, Cakephp


Actualmente estoy trabajando en una función de exportación en la aplicación cakephp y estoy haciendo una consulta que está obteniendo alrededor de 10.000 filas cada exportación que cake puede manejar pero debug_kit parece estar usando mucha memoria y poniéndome sobre 128mb de memoria utilizada.

Intenté escribir esto en la parte superior de la función, pero el juego de depuración aún se está involucrando y usando grandes cantidades de memoria.

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

5
2018-01-05 22:39


origen


Respuestas:


HyperCas es correcto al sugerir la devolución de llamada beforeFilter () como una solución adecuada.

El código podría tener este aspecto en el controlador donde reside la acción (es decir, exportar):

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

Te ajustarías array('export') para incluir todas las acciones que desea evitar la depuración.


9
2018-01-06 14:05



Solo para mejorar La respuesta de Benjamin Pearson. Descargue el componente en lugar de desactivar la depuración.

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

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

9
2018-01-12 08:26



Utilizar

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

en /app/config/core.php

O úselo en la devolución de llamada beforeFilter () en el controlador. Eso detendría la depuración de todo el controlador si no verifica manualmente la acción actual (en $ this-> params ['action'])

Si su modelo tiene múltiples asociaciones, debería echar un vistazo al comportamiento contable

http://book.cakephp.org/view/51/Controller-Attributes


0
2018-01-05 22:49



también puede cambiar el nivel de depuración en config.php a 0. esto deshabilitará el kit de depuración de forma automática + su aplicación utilizará incluso menos memoria.


0
2018-01-08 13:58



en cakephp3 abierto bootstrap.php presentar en config carpeta Comentarios o eliminar la carga de DebugKit

if (Configure::read('debug')) {
   // Plugin::load('DebugKit', ['bootstrap' => true]);
}

eso es todo ... descargará el DebugKit de su aplicación


0
2018-05-07 11:52



Inhabilitar debug_kit sobre la marcha

class AppController extends Controller {
     public function beforeFilter() {
         Configure::write('debug', 0);
     }
}

0
2018-03-29 11:45