【问题标题】:how to close Persistent conn in laravel 5.4如何在 laravel 5.4 中关闭 Persistent conn
【发布时间】:2018-03-22 18:06:21
【问题描述】:

我正在使用 laravel 和 oracle 开发应用程序,我正在使用 laravel oci8 的持久连接 使用下面的代码我设置 app/config/database.php

 'oracle' => array(
            'driver'   => 'oracle',
            'tns'      => env('DB_TNS', '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))'),
            'host'     => env('DB_HOST', 'localhost'),
            'port'     => env('DB_PORT', '1521'),
            'database' => env('DB_DATABASE', 'Test_DB'),
            'username' => env('DB_USERNAME', 'admin'),
            'password' => env('DB_PASSWORD', 'admin'),
            'charset'  => env('DB_CHARSET', 'AL32UTF8'),
            'prefix'   => env('DB_PREFIX', ''),
            'options' => [
                \PDO::ATTR_PERSISTENT => true
            ]

        )

问题是我想在新用户登录系统时重新创建数据库连接。我将如何关闭 laravel 的连接。请帮助我

【问题讨论】:

    标签: php oracle laravel


    【解决方案1】:

    如果需要关闭连接;

    \DB::disconnect();
    

    如果只需要重新连接;

    \DB::reconnect();
    

    但是如果你需要改变连接;

    \DB::purge('oracle');
    \Config::set('database.default', 'oracle_the_new');
    \DB::connection('oracle_the_new');
    

    注意:如果您不更改 database.default,laravel 将始终重新连接默认连接。或者您可以更改模型的连接;

    $user  = new User();
    $user->setConnection('oracle_the_new');
    $user1 = $user->find(1);
    

    【讨论】:

    • 将\DB::disconnect();关闭持久连接
    • 是的,但是当您的脚本执行数据库查询时,laravel 将重新连接。
    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 2019-06-13
    • 1970-01-01
    • 2019-12-10
    • 2018-01-14
    相关资源
    最近更新 更多