caching - para - set cakephp
La página de CakePHP pierde ocasionalmente diseño: ¿Ayuda? (2)
¿Estás seguro de que ninguna ajax requests
está interfiriendo con tu código / solicitud?
Hace poco tuvimos un problema de pesadilla en el que Cake no renderizaba el diseño en los clics del navegador hacia atrás / adelante. Vea aquí: CakePHP sin diseño en el botón Atrás y Adelante
También puede ser útil mirar el ciclo de solicitud de pastel ( http://book.cakephp.org/2.0/en/getting-started/a-typical-cakephp-request.html ) y restringir cuando está en la solicitud (y dónde ) el error está ocurriendo, aunque no sé cómo lo reproducirías :)
Espero que lo resuelvas!
Tengo un sitio de CakePHP cuya página de inicio está almacenada en caché durante 10 minutos a la vez usando las opciones predeterminadas de Cake. Sin embargo, me han avisado que "de vez en cuando", una vez al día, está perdiendo el diseño, solo muestra el contenido de la página sin encabezado, diseño, etc.
La eliminación de la versión almacenada en caché y la regeneración de la página aparentemente solucionan el problema. Pero, ¿por qué debería / podría estar pasando esto en primer lugar? No puedo decir que lo haya visto yo mismo (en ninguno de mis proyectos de CakePHP), pero ¿alguien más tiene alguna experiencia con esto o alguna idea de cómo solucionarlo? ¡Muy apreciado!
EDITAR: Al mirar un archivo home.php en caché roto en comparación con un archivo de caché en funcionamiento, he visto esta línea:
$controller->layout = $this->layout = ''ajax''; //broken
$controller->layout = $this->layout = ''default''; //working
Esto parece un gran avance. Supongo que a veces la página recibe una llamada de Ajax y luego se almacena en caché en ese formato hasta que caduca. Alguien sabe por qué esto podría estar pasando (no creo que intentemos llamar a la página de inicio a través de Ajax a ninguna parte, ¡y ni siquiera tenemos un diseño de Ajax!) Y si hay algo que podamos hacer para detenerlo.
Además, si tiene algún error en su vista, a veces no cargará el diseño. Simplemente escupirá la vista hasta el punto donde experimentó el error. Tal vez el error no esté en mostrar su diseño, sino en alguna circunstancia extraña en la que esté generando un error con un Ayudante.