【问题标题】:how to clean Laravel Bootstrap cache config file?如何清理 Laravel Bootstrap 缓存配置文件?
【发布时间】:2016-02-22 17:39:24
【问题描述】:

我在本地开发 laravel 应用并上传到共享主机。

在托管时,我在 .env 和 config/database 文件中更改了 mysql 的数据库名称和用户名。

但在远程它仍然使用在 bootstrap/cache/config 文件中找到的旧数据库名称和用户。

那么如何清理bootstrap/cache/config.php文件呢?

【问题讨论】:

    标签: php mysql laravel


    【解决方案1】:

    如果您正在尝试清除配置缓存,这听起来像是。你需要运行:

    php artisan config:clear

    在某些时候,您可能运行了 php artisan config:cache,它生成了您的配置文件的缓存版本,并且该文件php artisan cache:clear 清除

    【讨论】:

      【解决方案2】:

      我尝试了上述所有选项,但没有任何效果。

      我手动从 bootstrap/cache/config.php 中删除。它有效。这是终极解决方案。

      【讨论】:

        【解决方案3】:

        我在 AWS 中构建自动化部署时偶然发现了这一点。 Laravel 的问题是 artisan 命令也使用缓存。现在,如果您部署应用程序的新版本,您可能在缓存中有过时的条目,这反过来会使 artisan 命令崩溃,即找不到某个已缓存但不再存在的类。因此,您需要:

        1. 在部署应用程序之前清除缓存
        php artisan cache:clear
        
        1. 手动清除缓存
        rm -rf bootstrap/cache/*
        

        最后你想运行优化命令,它将重新构建你的配置缓存、引导文件缓存和路由缓存。

        php artisan optimize
        

        【讨论】:

          【解决方案4】:

          使用php artisan cache:clear 刷新应用程序的缓存。

          【讨论】:

            【解决方案5】:
            php artisan config:clear
            

            或者您可以手动删除 bootstrap/config.php,毕竟这是 artisan 所做的。

            参见:vendor\laravel\framework\src\Illuminate\Foundation\Console\ConfigClearCommand.php

            【讨论】:

              【解决方案6】:

              这里是提示,

              1. 刷新应用缓存

                • 使用php artisan cache:clear 刷新应用程序缓存或使用php artisan cache:forget 丢弃特定缓存。
                • 您可以使用php artisan config:clear 清除应用程序的缓存配置。
              2. 删除刀片模板缓存

                您可以使用php artisan view:clear 清除所有已编译的视图。

              3. 应用程序引导缓存

                如果您想清除应用程序引导缓存,php artisan optimize:clear 会帮助您。

              4. 路由缓存

                还有一个清除路由缓存的命令为php artisan route:clear

              5. 事件和监听器缓存

                对于事件和侦听器缓存,您可以使用php artisan event:clear

              如果您仍然坚持寻找有用的命令,您可以运行php artisan list,它会列出每个命令及其描述。寻找您想要执行的特定操作。如果需要迁移相关的命令,可以查看migration

              【讨论】:

                【解决方案7】:

                我的解决方案是删除bootstrap/cache/ 目录中的文件,然后删除vendor 文件夹。重新运行composer install,然后composer dump-autoload,上述活动应该可以正常运行。删除vendor 文件夹并重新运行composer install 是我缺少的链接

                【讨论】:

                • 这也是唯一对我有用的解决方案!
                【解决方案8】:

                你可以使用:

                Laravel 4:php artisan cache:clear

                也适用于 laravel 5(未测试),

                Illuminate\Cache\FileStore 有函数flush

                Cache::flush();
                

                还有,

                use Doctrine\Common\Cache\CacheProvider as DoctrineCache;
                
                DoctrineCache::flushAll();
                

                【讨论】:

                • 对于 laravel 5。我从哪里运行这个命令。我应该在 routes.php 中创建一个闭包并从那里运行吗
                • php artisan cache:clear 必须从命令提示符处执行。您必须导航到项目的根文件夹才能执行它。对于 laravel 5,有人认为不需要清除缓存。但是,如果您想尝试,请在控制器中使用它。
                猜你喜欢
                • 2022-08-03
                • 2017-05-27
                • 2015-06-26
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-05-22
                • 1970-01-01
                • 2020-02-24
                相关资源
                最近更新 更多