Php 如何关闭laravel 5.4中的持久连接
我正在使用laravel和oracle开发应用程序,其中我正在使用laravel oci8的持久连接 我使用下面的代码设置app/config/database.phpPhp 如何关闭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)(
'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将重新连接。