无需Artisan命令即可清除Laravel缓存

时间:2018-11-29 18:10:46

标签: php laravel caching laravel-5

我已经移动了项目,但是遇到了问题。我发现我的项目仍在使用旧设置(在我的.env中进行了更改,以反映更改后的主机)。

我无法通过浏览器访问我的项目,因为它返回此错误:SQLSTATE[HY000] [1045] Access denied for user 'appReop'@'localhost' (using password: YES) (SQL: select * from `settings` limit 1)

appReop是先前的登录用户名。虽然我可以创建一个新用户来反映这一点,但是我还遇到了一个问题,即旧密码对于当前数据库配置而言太弱了。

当我去运行php artisan cache:clear时,它返回与上面相同的错误。所以我很好奇,是否有一种方法可以手动清除缓存以修复错误?

更新

这显示了在运行任何Artisan命令后弹出的三个错误:

enter image description here

5 个答案:

答案 0 :(得分:1)

只有一次?只需删除文件夹storage/framework/cache/data

答案 1 :(得分:0)

您可以在CLI外部调用Artisan命令。

Route::get('/clear-cache', function() {
   $exitCode = Artisan::call('cache:clear');
   // return what you want
});

您可以在http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli此处查看官方文档

答案 2 :(得分:0)

尝试运行:

php artisan down
php artisan config:clear

因为这会将Laravel置于维护模式,然后仅清除配置设置缓存。

@Filippe已经对此发表了评论。

更新

只需创建一个如下图所示的文件,然后运行php artisan config:clear,然后运行php artisan up

enter image description here

答案 3 :(得分:0)

如果可以为您的存储目录提供权限,那就更糟了。

$ sudo chmod -R 777 ./storage

然后删除缓存并使用php artisan cache:clear。希望对您有所帮助。

答案 4 :(得分:0)

不确定您是否已解决此问题,我的建议是删除文件夹下面的文件。因此,数据库连接缓存文件将在删除后再次创建。 (Laravel 5)

/<root>/bootstrap/cache/*

希望它会有所帮助:)