Laravel .env文件返回错误数据

4
我一直在尝试从Laravel 5.7.3的数据库中获取数据,但似乎使用了错误的数据库名称、用户名和密码,因为它返回以下错误:
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `tasks`)

我的.env文件数据库部分也根据我的需求进行设置:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mrdb
DB_USERNAME=root
DB_PASSWORD=

PS:我的应用程序环境仍然是本地的。我可以使用artisan tinker迁移和插入数据到数据库中,但无法从数据库中获取数据。

唯一使其工作的方法是更改config/database.php mysql部分以符合我的参数,但我认为这并不正确。

为什么在调用数据库时.env不想要更改?


2
你之前有缓存你的配置文件吗?可以使用 php artisan config:clear 命令清除缓存,或者使用新的配置缓存覆盖原有缓存,命令为 php artisan config:cache - milo526
没有进行任何缓存处理。 - Oluwatobiloba
缓存了一下,问题就解决了。 - Oluwatobiloba
如果您在单个服务器上运行多个站点,则需要使用config:cache,否则某些站点将使用错误的.env文件/每个请求。还要确保配置文件中只有env() - Kyslik
2个回答

5
Laravel使用缓存来加速网站加载时间,其中一个被缓存的内容是位于config/目录中的配置文件。大多数这些文件都使用env()助手函数引用.env文件。
可以使用php artisan config:cache创建配置缓存,然后将其存储在bootstrap/cache/config.php中。
要删除此特定缓存,您可以使用php artisan config:clear,要清除所有缓存,请使用php artisan cache:clear

2

这是缓存问题,请使用以下命令:

php artisan cache:clear
php artisan config:cache

然后删除所有缓存文件,即IE内部的文件。

storage/framework/views

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