Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何关闭laravel 5.4中的持久连接_Php_Oracle_Laravel - Fatal编程技术网

Php 如何关闭laravel 5.4中的持久连接

Php 如何关闭laravel 5.4中的持久连接,php,oracle,laravel,Php,Oracle,Laravel,我正在使用laravel和oracle开发应用程序,其中我正在使用laravel oci8的持久连接 我使用下面的代码设置app/config/database.php 'oracle' => array( 'driver' => 'oracle', 'tns' => env('DB_TNS', '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(

我正在使用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的连接。如果需要关闭连接,请帮助我

\DB::disconnect();
\DB::purge('oracle');
\Config::set('database.default', 'oracle_the_new');
\DB::connection('oracle_the_new');
$user  = new User();
$user->setConnection('oracle_the_new');
$user1 = $user->find(1);
如果你只需要重新连接

\DB::reconnect();
但如果你需要改变连接

\DB::disconnect();
\DB::purge('oracle');
\Config::set('database.default', 'oracle_the_new');
\DB::connection('oracle_the_new');
$user  = new User();
$user->setConnection('oracle_the_new');
$user1 = $user->find(1);
注意:如果不更改database.default,laravel将始终重新连接默认连接。或者您可以更改模型的连接

\DB::disconnect();
\DB::purge('oracle');
\Config::set('database.default', 'oracle_the_new');
\DB::connection('oracle_the_new');
$user  = new User();
$user->setConnection('oracle_the_new');
$user1 = $user->find(1);

will\DB::disconnect();关闭持久连接,但当脚本执行数据库查询时,laravel将重新连接。