laravel 5.5缓存错误"序列化'关闭'不允许"

时间:2017-11-05 05:12:21

标签: laravel caching

我试图将完整的页面视图存储到缓存中,但错误的是"序列化'关闭'不允许"发生了。在控制器中我的代码是这样的:

$view = Cache::remember('articles_index', 5, function () {
    return view('template.blade.php'); // this is some rendered html string
});

我不知道原因,所以试图谷歌查找,但谷歌的结果并不完全是我想要的... 过了一会儿,我找到了一个临时解决方案。

$view = Cache::remember('articles_index', 5, function () {
    return htmlspecialchars(view('template.blade.php'));
});

这种缓存方式有效,但它可能会破坏html的某些部分。 仍在努力寻找完美的解决方案......

这个问题可能会多次更新......

1 个答案:

答案 0 :(得分:5)

您的第一个示例是尝试缓存View对象,而不是HTML(字符串)。需要渲染视图,转换为字符串输出。

(string) view(...)view(...)->render()会给你一个字符串。

当您从路线返回视图时,Laravel知道为您渲染它们。

相关问题