【问题标题】:Laravel cache store does not support taggingLaravel 缓存存储不支持标记
【发布时间】:2021-05-20 21:38:54
【问题描述】:

我收到此错误,因为我在身份验证路由上安装了 Zizaco\Entrust

BadMethodCallException: This cache store does not support tagging.

我几乎没有已知问题,我不得不更改一些配置选项,这就是我收到此错误的原因。

这个错误与什么有关,以便我可以找到问题并修复它而不是找到我修改的代码?

谢谢

【问题讨论】:

  • 你用什么缓存驱动?
  • 使用文件缓存驱动
  • 改用 Redis。它支持标记。

标签: laravel


【解决方案1】:

Laravel filedatabase 驱动程序不支持 tags

您需要更新,解决此问题只需将您的.env 中的 缓存驱动程序file 更改为 array(位于根文件夹)文件如下。

CACHE_DRIVER=array

希望对你有帮助!!

【讨论】:

    【解决方案2】:

    使用 filedatabase 缓存驱动程序时不支持缓存标记。 Entrust 包可能在某处使用它们。例如,将其更改为 arraymemcacheapc 应该没问题。

    https://laravel.com/docs/5.2/cache#cache-tags

    【讨论】:

    • 最好不要切换到array,因为那只是主要用于测试的单个请求的缓存。
    • 大家好,你们能帮帮我吗?我面临同样的问题。我使用了redis驱动程序。但仍然是同样的错误。
    • 你使用 Redis 驱动,你得到 这个缓存存储不支持标记。?
    • 即使使用memcached 也会遇到问题(请参阅github.com/Zizaco/entrust/issues/679#issuecomment-293126444)。
    • @Ryan in cache.php 即使您更改密钥 'default' => env('CACHE_DRIVER', 'memcached'),它仍然会从您的 .env 文件中获取它。因此,要么在cache.php 中将其更改为'default' => 'memcached',要么从您的.env 文件中更改它。
    【解决方案3】:

    打开.env 文件和 改变

      CACHE_DRIVER=file to CACHE_DRIVER=array
    

    或者添加下面显示的这一行

      CACHE_DRIVER=array
    

    然后进入命令提示符或打开终端然后输入

      php artisan config:cache
    

    【讨论】:

      【解决方案4】:

      在命令提示符中使用此命令

      php artisan config:cache
      

      【讨论】:

        【解决方案5】:

        在您的 .env 文件中更改

        CACHE_DRIVER=file
        

        CACHE_DRIVER=array
        

        然后运行这些命令

        php artisan config:clear
        php artisan config:cache
        

        会有用的

        【讨论】:

        • 据我所知,我认为使用文件驱动程序时不支持缓存标签。 Entrust 包可能在某处使用它们。因此可以将其排列成数组。
        【解决方案6】:

        在您的 .env 文件中更改为缓存数组

        CACHE_DRIVER=array
        

        别忘了跑

        php artisan config:cache
        

        【讨论】:

          【解决方案7】:

          只需更改.env

          CACHE_DRIVER=文件

          CACHE_DRIVER=数组

          【讨论】:

            【解决方案8】:

            使用文件或数据库缓存驱动程序时不支持缓存标记。 Entrust 包可能在某处使用它们。

            打开.env文件集

             CACHE_DRIVER = array
             SESSION_DRIVER = file
            

            然后在终端中执行命令

            php artisan config:cache 
            

            【讨论】:

              【解决方案9】:

              如果问题仍然存在,则应将您的委托版本更改为

              dev-laravel-5
              

              【讨论】:

                【解决方案10】:

                我的解决方案是将 cache.php 中的以下行从“文件”更改为“数组”:

                'default' => env('CACHE_DRIVER', 'array')
                

                希望对你有帮助!

                【讨论】:

                  【解决方案11】:

                  是的,Laravel 文件和数据库驱动程序不支持标签。您在开发时可以做的是将驱动程序更改为 .env 文件中的数组。 CACHE_DRIVER=数组

                  【讨论】:

                  • 感谢您的回答。但它是已经存在的答案的副本。
                  猜你喜欢
                  • 2021-07-28
                  • 2020-02-27
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-07-24
                  • 1970-01-01
                  • 2017-01-04
                  • 1970-01-01
                  • 2021-04-05
                  相关资源
                  最近更新 更多