错误内容:
缓存系统不支持添加tag,也就是当前缓存系统不支持使用 Cache::tags(),官方文档也有给出说明
当然,代码提交前肯定是要测试的,我们本地和线上都是使用redis作为缓存,但却在构造是报了这个错误。
原因:在构造函数中使用Cache::tags()方法!
项目测试服发布后先进行composer install --no-dev ,在执行安装时报了这个错误,具体原理我也不太清楚,应该是这个过程中会去扫描PHP相关文件的构造函数,但是项目没有安装生成完毕,所以是读取不到.env里环境变量的,而Laravel默认是file作为缓存驱动的,所以报了这个错误。
解决方案:
1、将构造函数中的Cache::tags()删除
2、更改config/cache.php中默认缓存驱动为支持Cache::tags()的驱动(不推荐)
其他说明:
在构造函数中应该避免此类逻辑处理,个人觉得构造函数应该主要用来注入或者说引入操作,尽量减少数据处理操作,此次错误也引以为戒。