3

我需要获取我的User信息以及何时致电

$this->User->find('first', array('conditions' => array('User.id' => $user_id)));

结果只包含一些字段。

我目前已经更新了数据库架构。在开发服务器上,它运行良好并返回所有字段,但在生产服务器上,这些新字段丢失了。这些服务器具有完全相同的配置。

我已经尝试删除内容,app/tmp/cache/models并且正在使用File引擎进行缓存。

schema.php文件是最新的,其中的文件内容app/tmp/cache/models表明这些字段存在,但我无法在生产服务器上检索它们。唯一的区别可能是数据库和调试级别。我尝试复制数据库并将其与开发服务器一起使用,效果很好。

我显然不能在生产服务器上将调试设置为 2。

你们中有人遇到过类似的行为吗?

PS我正在使用Cake 2.3.3

4

3 回答 3

9

答案其实很简单。我不仅要app/tmp/models删除 app/tmp/persistent.

于 2013-05-15T16:12:20.833 回答
3

我的回答与@Elwhis 的略有不同。我在Cake 2.4.5上。对我来说,没有app/tmp/models目录或app/tmp/persistent. models并且persistent都在app/tmp/cache. 就像@Elwhis 一样,查看app/tmp/cache/models目录会显示缺少的字段,所以很混乱。

为了修复,我删除了所有文件app/tmp/cache/persistent。请注意,如果您删除目录本身,您将收到来自 CakePHP 的 500 错误。

我建议将该目录中的文件删除添加到您的部署过程中。

于 2014-04-11T02:54:18.963 回答
0

Elwhis:答案其实很简单。我不仅要删除 app/tmp/models 的内容,而且真正使它起作用的是删除 app/tmp/persistent 的内容。

这仍然适用于 CakePHP 3,它解决了我的问题!

更新 1

有一种使用 Bake CLI Tool 清理缓存的简单方法,如下所示:

缓存外壳命令

要清除一个缓存配置:

bin/cake 缓存清除

要清除所有缓存配置:

bin/cake 缓存 clear_all

于 2019-06-22T16:31:13.327 回答