2016-12-29 128 views
0

我在Laravel找到連接mysql時出現了一個奇怪的問題,當時沒有連接叫做mysql。在我database.php配置,我默認連接設置爲:Laravel沒有正確讀取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']; 
} 

這個問題上運行ampps在Windows 10箱apearing,但不是一個問題:這裏是參考值的功能。

編輯:

我可以確認它是'default' => env('DB_CONNECTION', 'permissions'),線在database.php文件,因爲當它被改爲'default' => 'permissions',應用程序正常工作。

+0

試圖清空你的配置緩存? ('php artisan config:clear') – manniL

+0

我跑了那個命令兩次。 – JRLambert

+0

好的。你有沒有設置你的「權限」連接?如果是,請向我們顯示代碼。 – manniL

回答

2

請運行以下命令。

要清除高速緩存 -

php artisan cache:clear 

清除緩存配置

php artisan config:clear 

然後重新啓動laravel服務器。它應該現在工作。