You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel缓存报错:该缓存存储不支持标签,寻求技术解决方案

解决 "This cache store does not support tagging" 错误

这个报错其实说得很直白——你当前用的array缓存驱动**不支持缓存标签(tagging)**功能,但你的应用代码(或者依赖的第三方包)里刚好有调用缓存标签的逻辑,直接触发了这个错误。

问题根源

你的环境配置能明显看出问题:

  • .env 里设置了 CACHE_DRIVER=array
  • config/cache.php 也把默认缓存驱动绑定到了这个配置

Laravel的array缓存驱动是个内存级临时缓存,只提供最基础的读写能力,完全不支持Cache::tags()这类标签相关的API,所以一调用就报错。

两种解决方案,按需选

方案1:不需要缓存标签,调整代码/配置

如果你其实用不上缓存标签功能:

  • 先查自己的代码里有没有Cache::tags(...)、Cache::tag(...)这类调用,把它们改成普通的缓存操作(比如Cache::put()、Cache::get())就行。
  • 要是是第三方扩展包在偷偷用缓存标签,去翻这个包的文档,看看有没有禁用标签的配置开关。

方案2:需要缓存标签,换支持的驱动

如果你的应用确实依赖缓存标签,那就把驱动换成支持标签的类型,推荐两种常用选项:

选项A:改用Redis驱动(推荐)

你的.env里已经配好了Redis的连接信息,几步就能搞定:

  1. 打开.env,把 CACHE_DRIVER=array 改成 CACHE_DRIVER=redis
  2. 确保Laravel有Redis依赖:旧版本跑 composer require predis/predis,新版本用phpredis扩展的话不用额外装
  3. 启动Redis服务(XAMPP集成了就启动对应模块,没有的话单独装Redis并启动)
  4. 清空缓存:执行 php artisan cache:clear
  5. 重启XAMPP的Apache,再访问http://localhost:8000试试
选项B:改用Database驱动

不想用Redis的话,数据库也能支持缓存标签:

  1. 打开.env,把 CACHE_DRIVER=array 改成 CACHE_DRIVER=database
  2. 生成缓存表的迁移文件:跑 php artisan cache:table
  3. 执行迁移建表:php artisan migrate
  4. 清空缓存:php artisan cache:clear
  5. 重启服务后测试访问

内容的提问来源于stack exchange,提问作者Diego Cespedes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:20:42