通过CLI清除缓存清单
问题描述:
我已经自动部署我的网站,并且我有一个运行的脚本framework/sake /dev/build "flush=1"
但是,它可以清除运行它的用户的缓存目录,这与apache用户不同(我不能从它运行)。通过CLI清除缓存清单
我读过一些bug报告,人们却在SS论坛谈论它要么是没有答案,或者例如不
define('MANIFEST_FILE', TEMP_FOLDER . "/manifest-main");
我想到刚删除缓存目录工作但是这是一个随机字符串,因此不容易编写脚本。
通过命令行清除缓存的最佳方式是什么?
答
为了实现此目的,您需要先在web根目录下创建一个文件夹silverstripe-cache
,然后将缓存从默认目录移动到Web目录中。另外,还要确保路径读/写(SS默认配置块这是公众可读的)
然后你可以编写脚本:
sudo -u apache /path/to/web/root/framework/sake dev/build "flush=1"
您可以运行的缘故作为Apache的? 'sudo -u apache php framework/cli-script.php dev/build flush = 1' –
@RobbieAverill我很惊讶,我可以这样做,因为Apache在CentOS下并不是真正的用户,但它并没有清除正确的缓存。普通缓存位于'/ tmp/systemd-private-*** httpd/tmp/ss-website/apache'下,但是从命令行运行上述命令会清除'/ tmp/ss-website/apache' – Rudiger
也许如果我创建可以使它工作的'silverstripe-cache'目录? – Rudiger