Laravel 没有正确读取 database.php 配置

Laravel not reading database.php config correctly

我在 Laravel 中遇到一个奇怪的问题,它正在寻找连接 mysql 而没有名为 mysql 的连接。在我的 database.php 配置中,我将默认连接设置为:

'default' => env('DB_CONNECTION', 'permissions'),

在我的 .env 文件中,我有一行:

DB_CONNECTION=permissions

这是堆栈跟踪:

local.ERROR: InvalidArgumentException: Database [mysql] not configured. in D:\Development\Permissions\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php:239
Stack trace:
#0 D:\Development\Permissions\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php(158): Illuminate\Database\DatabaseManager->getConfig('mysql')
#1 D:\Development\Permissions\vendor\laravel\framework\src\Illuminate\Database\DatabaseManager.php(68): Illuminate\Database\DatabaseManager->makeConnection('mysql')
#2 D:\Development\Permissions\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(3348): Illuminate\Database\DatabaseManager->connection('mysql')
#3 D:\Development\Permissions\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(3314): Illuminate\Database\Eloquent\Model::resolveConnection(NULL)

我将问题追溯到对 vendor\laravel\framework\src\Illuminate\Database\DatabaseManager->getDefaultConnection() 的调用。由于某些原因,即使默认连接设置为 permissions,returns 的连接名称也是 mysql。以下是供参考的功能:

public function getDefaultConnection()
{
    return $this->app['config']['database.default'];
}

此问题出现在 Windows 10 箱 运行 ampps 上,但在 运行 通过 homestead 时不是问题。

编辑:

我可以确认它是 database.php 文件中的 'default' => env('DB_CONNECTION', 'permissions'), 行,因为当它被更改为 'default' => 'permissions' 时,应用程序按预期运行。

请运行执行以下命令。

清除缓存 -

php artisan cache:clear

清除配置缓存

php artisan config:clear

然后 重新启动您的 laravel 服务器。现在应该可以使用了。