請問各位使用laravel cache,當cache時間到期後,撈出資料內的圖片路徑(使用asset())產生的路徑為何會變成ip呢?正常狀況下asset()是回傳domain,請問有人有相關的解決經驗嗎?
$id = 1;
$data = (cache()->has('data')) ? cache()->get('data') : cache()->remember('data', 10, function() use ($id) {
$result = Model::find($id);
if ($result->img != '' && File:exists(public_path($result->img)) {
$result->img = asset($result->img);
} else {
$result->img = asset('default.jpg');
}
return $result;
});
正常情況下asset()產出的圖片路徑是 https://domain.com/data.jpg
但在快取時間到期後的某段時間內,就算已經重新產生一筆新的快取資料
但asset()產出的圖片路徑卻變成 https://172.50.50.50/data.jpg
url()->forceRootUrl(config('app.url'));