不使用Artisan命令清除Laravel缓存

7
我已经移动了我的项目,但遇到了一个问题。我发现旧的设置(已在我的.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


正如Andrey Mikhalev所说,尝试用单引号包装您的密码。 我希望这能帮助到某些人。 - Alk
6个回答

17

不确定您是否解决了这个问题,我的建议是删除以下文件夹中的文件。这样,在删除后数据库连接缓存文件将会重新生成。(Laravel 5)

/<root>/bootstrap/cache/*

希望能对你有所帮助 :)


非常有帮助。谢谢。 - N. Djokic
这真的帮了我,谢谢! - Kyle Reierson

7

1
点赞,因为你有超越常规思维的想法! - Dany Balian

2

这只需要一次吗?只需删除文件夹storage/framework/cache/data


是的,它只会发生一次。不幸的是,在此之前我删除了文件夹,但什么都没有发生。 - Matthew
似乎这不是缓存问题,而是配置问题。请在 config/database.php 中查找凭据。 - Felippe Duarte
我已经改变了那些东西,希望是那个问题。但是在改变了一切之后,它仍然在某个地方依赖缓存,因为它仍然尝试使用旧凭据进行连接。 - Matthew
我已经尝试过了,但它仍然出现错误。到目前为止,我已经尝试了所有与缓存有关的工匠命令。 - Matthew
我应该澄清一下,它不仅在网页浏览器中出现错误,而且在控制台中也出现了错误。 - Matthew

1
如果有人仍然遇到这样的问题,请检查您的数据库密码。似乎.env文件不接受#符号,这就是为什么我遇到了相同的错误。

0

尝试运行:

php artisan down
php artisan config:clear

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

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

更新

只需创建一个名为down的文件,如下图所示,然后运行php artisan config:clear,如果成功,则运行php artisan up

enter image description here


我已经更新了我的问题并附上了屏幕截图,但此时此刻没有任何工匠命令可以使用。这就是为什么我希望尝试在缓存或代码中定位问题的原因...:/ - Matthew
尝试在 storage\framework 中创建一个名为 down 的文件,这样可以手动将 Laravel 放入维护模式。 - Josh

0

如果您可以提供对存储目录的访问权限,那将更好。

$ sudo chmod -R 777 ./storage

然后清除缓存,使用php artisan cache:clear命令。希望这能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接