Laravel 和多个数据库连接
Laravel and multiple database connections
这可能是个愚蠢的问题。我有两个单独的数据库正在与 Laravel 4 一起使用。其中一个只能通过某个IP访问(安全原因),而另一个可以访问。我有两个不同的 mysql 连接。我已经看到使用这个的数据库连接测试:
if(DB::connection('mysql')->getDatabaseName()){ }
为了测试什么可以看到,什么不可以看到,我试着给mysql一个假密码。我得到了这个非常丑陋的错误,它无法连接。有没有办法让它在无法访问数据库的地方忽略它?只有一个 PHP class 在页面加载时调用安全数据库,但上述检查似乎不起作用。
通过laravel的核心代码,数据库连接失败时没有抛出特定的异常。
因此,解决方案是:
try {
//Strings always evaluate to boolean true
$dbConnected = (bool)DB::connection('mysql')->getDatabaseName();
}
catch (Exception $e)
{
$dbConnected = false;
}
然后根据变量 $dbConnected
.
编写代码
这可能是个愚蠢的问题。我有两个单独的数据库正在与 Laravel 4 一起使用。其中一个只能通过某个IP访问(安全原因),而另一个可以访问。我有两个不同的 mysql 连接。我已经看到使用这个的数据库连接测试:
if(DB::connection('mysql')->getDatabaseName()){ }
为了测试什么可以看到,什么不可以看到,我试着给mysql一个假密码。我得到了这个非常丑陋的错误,它无法连接。有没有办法让它在无法访问数据库的地方忽略它?只有一个 PHP class 在页面加载时调用安全数据库,但上述检查似乎不起作用。
通过laravel的核心代码,数据库连接失败时没有抛出特定的异常。
因此,解决方案是:
try {
//Strings always evaluate to boolean true
$dbConnected = (bool)DB::connection('mysql')->getDatabaseName();
}
catch (Exception $e)
{
$dbConnected = false;
}
然后根据变量 $dbConnected
.