Laravel 5 + PostgreSQL:"数据库[postgres]未配置." 错误

Fra*_*dge 14 php postgresql laravel laravel-5 artisan-migrate

我正在尝试使用Laravel + PostgreSQL并开始关注数据库教程.

不幸的是,更新数据库配置文件并运行后php artisan migrate,出现以下错误:

  [InvalidArgumentException]
  Database [postgres] not configured.
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的是,我没有在配置中指定"postgres"数据库,而是通过cPanel设置了另一个数据库,比如说"example_database".


以下是我/config/database.php配置的一些相关部分:

'default' => env('DB_CONNECTION', 'postgres')
Run Code Online (Sandbox Code Playgroud)

并在connections同一文件的数组内:

'pgsql' => [
        'driver'   => 'pgsql',
        'host'     => env('DB_HOST', 'localhost'),
        'database' => env('DB_DATABASE', 'example_database'), // This seems to be ignored
        'username' => env('DB_USERNAME', 'example_username'),
        'password' => env('DB_PASSWORD', 'example_password'),
        'charset'  => 'utf8',
        'prefix'   => '',
        'schema'   => 'public'
    ],
Run Code Online (Sandbox Code Playgroud)

我正在使用的实际数据库凭据在我的SQL Workbench客户端上运行得很好,所以这似乎是一个Laravel配置问题.有任何想法吗?我搜索了至少一个小时无济于事.

Fie*_*ete 34

您必须在.env文件中输入配置.

您所做的配置只有在尚未定义的情况下才会加载 .env

你需要使用pgsql而不是postgres.

DB_CONNECTION=pgsql
DB_HOST=localhost
DB_DATABASE=DB_NAME
DB_USERNAME=USER
DB_PASSWORD=PW 
Run Code Online (Sandbox Code Playgroud)

  • 您是否也检查过pdo postgress驱动程序是否已正确安装和加载? (2认同)

Bub*_*vor 6

Laravel 有时会缓存您的配置。如果您在一切正常时遇到此问题,请尝试运行

php artisan config:cache