Silverstripe缓存刷新不会持续存在

时间:2018-06-01 11:05:35

标签: silverstripe

首次使用SilverStripe(版本3.6)时,我在本地开发环境(Mac OSX,PHP7.1,Apache2.4)上的网站上工作时遇到了很大的困难。

在网站上查看网页时,我可以将?flush?flush=all添加到网址并刷新缓存。通过这样做,我可以看到我对模板或CSS所做的更改。这是一个很好的,但可以管理。

但是,如果我删除了刷新查询参数,该页面将恢复为某个先前版本。

我希望flush操作能够清除所有缓存,并允许我查看页面的最新版本,而不必始终拥有?flush param。

我有一个可写的/silverstripe-cache目录,我可以看到其中生成的文件。

我做错了什么?为什么Silverstripe会缓存一些旧版本的页面,尽管我使用了flush?

谢谢!

1 个答案:

答案 0 :(得分:0)

所以我认为答案就在/cache目录中(我刚刚发现)。

rm -rf cache/*

删除缓存目录中的所有文件,似乎解决了我的缓存HTML和CSS问题,这意味着我不需要为每个请求添加?flush

缓存文件夹在后续页面加载时保持为空,可能是因为SilverStripe站点以SS_ENVIRONMENT_TYPE=dev模式运行。我假设它何时有效(SS_ENVIRONMENT_TYPE=live),那么将使用缓存文件夹。