为什么我的.env总是与旧数据库连接?

时间:2019-04-13 05:38:55

标签: laravel environment-variables

我是laravel的新手。为什么我的laravel项目会与旧数据库保持连接?

我尝试清除缓存,但对我php artisan config: cache

无效

我的环境文件已与新数据库连接,但在终端机上显示错误

  

未知数据库“管理员”

2 个答案:

答案 0 :(得分:1)

如果您使用php artisan config: cache,它将在 bootstrap文件夹中的缓存下创建一个 config.php 文件。
因此,如果您更改 .env文件中的内容,则不会在缓存 config.php 文件中对其进行更新。
然后,当您运行php artisan config:clear时,新更改将在缓存 config.php 文件中更新。这就是为什么您要面对这个问题。

要解决此问题,请尝试以下

  1. bootstrap文件夹中的缓存文件夹中删除 config.php 文件。
  2. 运行composer update

当我完成上述步骤时,我也遇到了这样的问题,它解决了。

答案 1 :(得分:0)

希望您的数据库凭据在.env文件中是正确的:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=            // Your Database Name
DB_USERNAME=           // Your Database Username
DB_PASSWORD=          // Your Database Password

如果“所有”都正确,那么在完成.env编辑之后,您可以使用以下工匠命令清除配置缓存:php artisan config:cache


另外,请检入config/database.php,并检查旧数据库名称是否未使用

此外,如果您使用的是PHP的默认Web服务器(例如php artisan serve),则在更改.env文件值后,需要重新启动服务器