【发布时间】:2016-02-22 17:39:24
【问题描述】:
我在本地开发 laravel 应用并上传到共享主机。
在托管时,我在 .env 和 config/database 文件中更改了 mysql 的数据库名称和用户名。
但在远程它仍然使用在 bootstrap/cache/config 文件中找到的旧数据库名称和用户。
那么如何清理bootstrap/cache/config.php文件呢?
【问题讨论】:
我在本地开发 laravel 应用并上传到共享主机。
在托管时,我在 .env 和 config/database 文件中更改了 mysql 的数据库名称和用户名。
但在远程它仍然使用在 bootstrap/cache/config 文件中找到的旧数据库名称和用户。
那么如何清理bootstrap/cache/config.php文件呢?
【问题讨论】:
如果您正在尝试清除配置缓存,这听起来像是。你需要运行:
php artisan config:clear
在某些时候,您可能运行了 php artisan config:cache,它生成了您的配置文件的缓存版本,并且该文件未被 php artisan cache:clear 清除
【讨论】:
我尝试了上述所有选项,但没有任何效果。
我手动从 bootstrap/cache/config.php 中删除。它有效。这是终极解决方案。
【讨论】:
我在 AWS 中构建自动化部署时偶然发现了这一点。 Laravel 的问题是 artisan 命令也使用缓存。现在,如果您部署应用程序的新版本,您可能在缓存中有过时的条目,这反过来会使 artisan 命令崩溃,即找不到某个已缓存但不再存在的类。因此,您需要:
php artisan cache:clear
rm -rf bootstrap/cache/*
最后你想运行优化命令,它将重新构建你的配置缓存、引导文件缓存和路由缓存。
php artisan optimize
【讨论】:
使用php artisan cache:clear 刷新应用程序的缓存。
【讨论】:
php artisan config:clear
或者您可以手动删除 bootstrap/config.php,毕竟这是 artisan 所做的。
参见:vendor\laravel\framework\src\Illuminate\Foundation\Console\ConfigClearCommand.php
【讨论】:
这里是提示,
刷新应用缓存
php artisan cache:clear 刷新应用程序缓存或使用php artisan cache:forget 丢弃特定缓存。 php artisan config:clear 清除应用程序的缓存配置。删除刀片模板缓存
您可以使用php artisan view:clear 清除所有已编译的视图。
应用程序引导缓存
如果您想清除应用程序引导缓存,php artisan optimize:clear 会帮助您。
路由缓存
还有一个清除路由缓存的命令为php artisan route:clear。
事件和监听器缓存
对于事件和侦听器缓存,您可以使用php artisan event:clear
如果您仍然坚持寻找有用的命令,您可以运行php artisan list,它会列出每个命令及其描述。寻找您想要执行的特定操作。如果需要迁移相关的命令,可以查看migration。
【讨论】:
我的解决方案是删除bootstrap/cache/ 目录中的文件,然后删除vendor 文件夹。重新运行composer install,然后composer dump-autoload,上述活动应该可以正常运行。删除vendor 文件夹并重新运行composer install 是我缺少的链接
【讨论】:
你可以使用:
Laravel 4:php artisan cache:clear
也适用于 laravel 5(未测试),
Illuminate\Cache\FileStore 有函数flush
Cache::flush();
还有,
use Doctrine\Common\Cache\CacheProvider as DoctrineCache;
DoctrineCache::flushAll();
【讨论】: