2017-04-06 78 views
2

我已經自動部署我的網站,並且我有一個運行的腳本framework/sake /dev/build "flush=1"但是,它可以清除運行它的用戶的緩存目錄,這與apache用戶不同(我不能從它運行)。通過CLI清除緩存清單

我讀過一些bug報告,人們卻在SS論壇談論它要麼是沒有答案,或者例如不

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

我想到剛刪除緩存目錄工作但是這是一個隨機字符串,因此不容易編寫腳本。

通過命令行清除緩存的最佳方式是什麼?

+0

您可以運行的緣故作爲Apache的? 'sudo -u apache php framework/cli-script.php dev/build flush = 1' –

+0

@RobbieAverill我很驚訝,我可以這樣做,因爲Apache在CentOS下並不是真正的用戶,但它並沒有清除正確的緩存。普通緩存位於'/ tmp/systemd-private-*** httpd/tmp/ss-website/apache'下,但是從命令行運行上述命令會清除'/ tmp/ss-website/apache' – Rudiger

+0

也許如果我創建可以使它工作的'silverstripe-cache'目錄? – Rudiger

回答

2

爲了實現此目的,您需要先在web根目錄下創建一個文件夾silverstripe-cache,然後將緩存從默認目錄移動到Web目錄中。另外,還要確保路徑讀/寫(SS默認配置塊這是公衆可讀的)

然後你可以編寫腳本:

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