我发现了类似的问题,但我的问题不同了.
我将CakePHP 2.2应用程序移动到另一台服务器.迁移前没有问题.迁移后大多数工作都很好.我可以访问我的大多数数据库表等.但是当我尝试访问我的一个表时,我收到此错误:
"Error 500: Table stats for model Stat was not found in datasource default."
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我检查了这个文件夹:"/ app/tmp/cache/models"
在该文件夹中,每个表都有一个文件
但是stats表没有文件.这可能是问题吗?或者我该如何解决这个问题?
("/ app/tmp/cache/models"文件夹的权限是755)
在Database.php中我有这个:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'myuser',
'password' => 'mypass',
'database' => 'mydatabase',
'prefix' => '',
'encoding' => 'utf8',
);
Run Code Online (Sandbox Code Playgroud)
编辑:
正如我在thaJeztah的回答中所提到的那样,在删除所有文件后app/tmp/cache/persistent解决了问题.CakePHP创建了新的模型缓存文件,并且工作正常.一年后,我发现了真正的问题.问题是设置蛋糕模型文件的清晰持续时间.我将清除缓存设置为+999天,因此不会重新生成模型文件.在进行模型更改时,您可以为模型缓存清除设置较低的值:
Cache::config('_cake_model_', array(
'engine' => "File",
'prefix' => "myapp_". 'cake_model_',
'path' => CACHE . 'models' . DS,
'serialize' …Run Code Online (Sandbox Code Playgroud)