【问题标题】:Laravel .env file returns wrong dataLaravel .env 文件返回错误数据
【发布时间】:2019-02-22 05:35:15
【问题描述】:

我一直试图在 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 不想要更改?

【问题讨论】:

  • 您是否事先缓存了您的配置? php artisan config:clear 或用新的配置缓存覆盖 php artisan config:cache
  • 没有做任何缓存
  • 做了缓存并且成功了
  • 如果您在单个服务器上运行多个站点需要使用config:cache,否则某些站点将使用错误 .env 文件/per要求。还要确保你只在配置文件中有env()

标签: php mysql database laravel laravel-artisan


【解决方案1】:

Laravel 使用缓存来加快网站加载时间,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
    

    之后删除所有缓存文件,即里面

    storage/framework/views
    

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 2015-04-09
      • 1970-01-01
      • 2015-11-12
      • 2018-12-06
      • 1970-01-01
      • 2017-03-01
      • 2020-02-20
      • 2017-08-31
      相关资源
      最近更新 更多