📜  如何在 laravel 中关闭外部 sql 连接 - SQL (1)

📅  最后修改于: 2023-12-03 15:08:41.136000             🧑  作者: Mango

如何在 Laravel 中关闭外部 SQL 连接

在 Laravel 应用程序中,可以使用数据库连接配置文件 config/database.php 来配置数据库连接。这个文件中可以指定多个数据库连接,默认情况下使用的是 default 连接。在一些情况下,我们可能希望关闭外部数据库连接,只允许使用默认的数据库连接。

关闭外部数据库连接

要关闭外部数据库连接,可以将 config/database.php 文件中其他数据库连接的数组元素注释掉,或者删除它们。例如,如果有一个名为 mysql2 的数据库连接,可以将其注释掉或者删除:

// 'mysql2' => [
//     'driver' => 'mysql',
//     'host' => env('DB_HOST', '127.0.0.1'),
//     'port' => env('DB_PORT', '3306'),
//     'database' => env('DB_DATABASE', 'forge'),
//     'username' => env('DB_USERNAME', 'forge'),
//     'password' => env('DB_PASSWORD', ''),
//     'unix_socket' => env('DB_SOCKET', ''),
//     'charset' => 'utf8mb4',
//     'collation' => 'utf8mb4_unicode_ci',
//     'prefix' => '',
//     'strict' => true,
//     'engine' => null,
// ],
仅允许默认数据库连接

除了关闭外部数据库连接,我们还可以配置默认数据库连接来只允许使用默认数据库连接。在 config/database.php 文件中,可以设置 connections.default 参数来指定默认数据库连接。如果将值设置为 mysql,则只允许使用 mysql 数据库连接:

'connections' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'url' => env('DATABASE_URL'),
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => '',
        'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
    ),

    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

],

'default' => 'mysql',
总结

在 Laravel 中,可以通过注释或删除 config/database.php 文件中的其他数据库连接来关闭外部数据库连接,也可以通过设置默认数据库连接来仅允许使用默认数据库连接。这对于保护数据安全非常有用。