我在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'
时,应用程序会按预期工作。
答案 0 :(得分:2)
请运行以下命令。
清除缓存 -
php artisan cache:clear
清除配置缓存
php artisan config:clear
然后 重新启动laravel服务器 。它现在应该工作了。