Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/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
Laravel辅助数据库连接不工作_Laravel_Laravel 5 - Fatal编程技术网

Laravel辅助数据库连接不工作

Laravel辅助数据库连接不工作,laravel,laravel-5,Laravel,Laravel 5,我在config/database.php中有一个MySQL数据库连接,如下所示,它工作正常 'mysql'=>[ “驱动程序”=>“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

我在
config/database.php
中有一个MySQL数据库连接,如下所示,它工作正常

'mysql'=>[
“驱动程序”=>“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',''),
“字符集”=>“utf8”,
“排序规则”=>“utf8\U unicode\U ci”,
'前缀'=>'',
“严格”=>错误,
“引擎”=>null,
],
我试图定义另一个备用连接(用于测试目的),如下所示。(相同主机但不同数据库):

“mysql\u测试”=>[
“驱动程序”=>“mysql”,
'host'=>env('DB_host','127.0.0.1'),
'port'=>env('DB_port','3306'),
'database'=>env('DB_database_TEST','forge'),
'username'=>env('DB\u username\u TEST','forge'),
'password'=>env('DB_password_TEST',''),
“字符集”=>“utf8”,
“排序规则”=>“utf8\U unicode\U ci”,
'前缀'=>'',
“严格”=>错误,
“引擎”=>null,
],
其中
DB\u DATABASE\u TEST
DB\u USERNAME\u TEST
DB\u PASSWORD\u TEST
.env
中定义如下:

DB\u DATABASE\u TEST=DB\u other
DB\u USERNAME\u TEST=usr\u other
DB_密码_测试=机密
但是,第二个连接不起作用。在Tinker中,如果我尝试使用新连接:

DB::connection('mysql_testing')->getPdo()
InvalidArgumentException,消息为“数据库[mysql_测试]未成功” 已配置。”

如果我尝试检查配置值,
mysql
工作,但是新连接
mysql\u testing
返回null

Config::get('database.connections.mysql'))
[
“驱动程序”=>“mysql”,
“主机”=>“127.0.0.1”,
“端口”=>“3306”,
“数据库”=>“***”,
“用户名”=>“***”,
“密码”=>“***”,
“字符集”=>“utf8”,
“排序规则”=>“utf8\U unicode\U ci”,
“前缀”=>“”,
“严格”=>错误,
“引擎”=>null,
]
Config::get('database.connections.mysql\u testing')
无效的

知道我如何调试这个问题吗?

这是因为Laravel 5自动缓存配置值。因此,即使我们更改config/database.php值,这些更改也不会生效,因为Laravel将继续从缓存中读取它

有一种方法可以清除缓存但这不会清除配置缓存

php artisan cache:clear  
幸运的是,有一个不同的artisan命令用于此。 要清除配置缓存,需要使用

php artisan config:clear  

嘿,哈什布朗,你有解决办法吗?我面临着同样的问题,我甚至试着放:
Artisan::call('cache:clear',['-n'=>true]);Artisan::call('config:clear',['-n'=>true])切换到另一个数据库后,但运气不佳