通过 CLI 清除缓存清单

Clearing cache manifest via CLI

我已经自动部署了我的站点并且我有一个脚本 运行s framework/sake /dev/build "flush=1" 这有效但是它清除了 运行s 它的用户的缓存目录,这与 apache 用户不同(我不能 运行 它来自)。

我已经阅读了一些错误报告,人们在 SS 论坛上谈论它,但是要么没有答案,要么它不起作用,例如

define('MANIFEST_FILE', TEMP_FOLDER . "/manifest-main");

我考虑过只删除缓存目录,但它是一个随机字符串,因此不容易编写脚本。

通过命令行清除缓存的最佳方法是什么?

要使其正常工作,您首先需要通过在 Web 根目录下创建一个文件夹 silverstripe-cache 将缓存从默认目录移动到 Web 目录中。还要确保路径是 read/write(SS 默认配置阻止 public 读取)

然后你可以编写脚本:

sudo -u apache /path/to/web/root/framework/sake dev/build "flush=1"