首页 > 解决方案 > Laravel 5l 多数据库连接

问题描述

我需要在 2 个地方有我的数据库连接信息吗?如果我执行以下操作,我可以正常连接。如果我删除任一文件的数据,我将无法连接。

配置/databases.php 文件

    'blah_1' => [
        'driver' => 'mysql',
        'host'      => env('DB_HOST’,’1.1.1.1’),
        'port'      => env('DB_PORT','3306'),
        'database'  => env('DB_DATABASE’,’someDB_1’),
        'username'  => env('DB_USERNAME’,’someUser_1’),
        'password'  => env('DB_PASSWORD’,’somePass_1’),
    ],

    'blah_2' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST_SECOND’,’2.2.2.2’),
        'port'      => env('DB_PORT_SECOND','3306'),
        'database'  => env('DB_DATABASE_SECOND’,’someDB_2’),
        'username'  => env('DB_USERNAME_SECOND’,’someUser_2’),
        'password'  => env('DB_PASSWORD_SECOND’,’somePass_2’),
    ],

.env 文件:

DB_CONNECTION=blah_1
DB_HOST=1.1.1.1
DB_PORT=3306
DB_DATABASE=someDB_1
DB_USERNAME=someUser_1
DB_PASSWORD=somePass_1

DB_CONNECTION_SECOND=blah_2
DB_HOST_SECOND=2.2.2.2
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=someDB_2
DB_USERNAME_SECOND=someUser_2
DB_PASSWORD_SECOND=somePass_2

标签: laravel

解决方案


最简洁的答案是不。你只需要在你的config/databases.php. 该.env文件是在不更新配置文件的情况下覆盖您其他环境中的设置。

例如,在您的本地环境中,您的凭据很可能与您的生产环境不同。您不想在config/databases.php本地更新并提醒自己不要推送文件。

但是,即使将它们从.env文件中删除,连接仍然有效。它将使用您的第二个参数的值env()作为默认值。


推荐阅读