CakePHP-如何简单地重置缓存的数据库模型

CakePHP-如何简单地重置缓存的数据库模型,php,cakephp,Php,Cakephp,我有几个基于CakePHP的应用程序,这基本上适用于所有应用程序。当我的调试模式设置为0(实时模式)时,每当我更新数据库结构(如新的表和字段)时,只要我的应用程序使用它们,我总是会收到默认的“已发生内部错误”消息。如果我将debug设置为1,然后使用这些新字段,那么问题就解决了。有更好的方法吗?我不希望每次必须更新数据库时都启用调试和测试写入。另外/tmp/cache子文件夹是空的,所以我不知道它存储在哪里。我写了一个函数来实现这一点 function clear_cache() { $

我有几个基于CakePHP的应用程序,这基本上适用于所有应用程序。当我的调试模式设置为0(实时模式)时,每当我更新数据库结构(如新的表和字段)时,只要我的应用程序使用它们,我总是会收到默认的“已发生内部错误”消息。如果我将debug设置为1,然后使用这些新字段,那么问题就解决了。有更好的方法吗?我不希望每次必须更新数据库时都启用调试和测试写入。另外/tmp/cache子文件夹是空的,所以我不知道它存储在哪里。

我写了一个函数来实现这一点

function clear_cache() {
    $cachePaths = array('js', 'css', 'menus', 'views', 'persistent','models');
    foreach($cachePaths as $config) {
        clearCache(null, $config);
    }
} 

它使用Cake中的函数。

对于CakePHP 2.x,将这行代码放在应用程序中的任意位置以清除模型缓存:

Cache::clear(false,'u-cake'u-model'

这与低级缓存引擎(文件、Memcache、Redis等)是分离的,因此它应该按原样工作


您需要清除所有缓存配置

bin/cake cache clear_all

您只需清除“/app/tmp/cache”文件夹中的文件即可。正如我之前所说,这些文件夹是空的。