CakePHP tiene un caché ubicado en /app/tmp/cache
. La estructura del directorio tiene este aspecto:
# /app/tmp/cache
# /app/tmp/cache/models
# /app/tmp/cache/persistent
# /app/tmp/cache/views
El problema principal que generalmente se experimenta es con la memoria caché del modelo. Cuando la depuración está desactivada (es decir, en producción) y hace que CakePHP envíe, introspecta el esquema de todas las tablas de su base de datos y las almacena en archivos planos en la carpeta models
arriba. Si no elimina los archivos en esta carpeta, CakePHP comenzará a decir que los modelos/tablas/campos no existen cuando claramente lo hacen en su base de datos.
Si habilita el almacenamiento en caché de la vista en su aplicación, cuando se visualizan las vistas por primera vez, CakePHP compilará archivos sin formato en la carpeta views
para evitar tener que volver a representarlas en la próxima solicitud.
Durante el proceso de arranque de CakePHP, debe determinar la estructura de directorios que está utilizando en su instalación antes de que pueda acceder a archivos importantes (como database.php
). Como tal, CakePHP generará archivos de caché en el directorio persistent
con las rutas absolutas a todos y cada uno de los directorios y archivos importantes, cualquier complemento que esté utilizando e incluso cualquier localización que haya creado para que pueda traducir rápidamente su aplicación entre idiomas sin repaing .pot
archivos .
En pocas palabras, debe recordar eliminar todos los archivos en estos directorios cada vez que realice cambios de código en una aplicación en producción, o agréguela como parte de su deployment mechanism. Usted no debe borrar cualquiera de los directorios sin embargo. El motivo por el que se cambia la depuración a 3 funciona es que cuando se activa el modo de depuración (en cualquier valor mayor a cero) la memoria caché se borra y se regenera en cada solicitud, pero, mientras esto funciona, no es fácil de automatizar. .
Hay varias maneras de hacerlo mediante programación, incluidos shell commands, CakePHP plugins, Capistrano configs, archivos Ant, pero también se puede hacer manualmente.
Similar: http://stackoverflow.com/questions/14716004/cakephp-database-table-missing-datasource-default – trante