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

时间:2016-12-29 18:48:46

标签: laravel laravel-5.3 php-7

我在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,返回的连接名称也是mysql。以下是参考函数:

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

此问题适用于运行功放的Windows 10机箱,但在通过宅基地运行时不会出现问题。

编辑:

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

1 个答案:

答案 0 :(得分:2)

请运行以下命令。

清除缓存 -

php artisan cache:clear

清除配置缓存

php artisan config:clear

然后 重新启动laravel服务器 。它现在应该工作了。