这可能是一个愚蠢的问题。我有两个与Laravel 4一起使用的独立数据库。其中一个只能使用某个IP访问(出于安全原因),而另一个则可以访问。我有两个不同的mysql连接。我用这个看过数据库连接测试:
if(DB::connection('mysql')->getDatabaseName()){ }
为了测试可以看到的内容以及无法看到的内容,我试图给mysql一个假密码。我得到了这个非常难看的错误,它是如何连接的。有没有办法让它无法到达数据库,只是忽略它?只有一个PHP类在页面加载时调用了仅安全的数据库,但上面的检查似乎并没有起作用。
答案 0 :(得分:2)
通过laravel的核心代码,当数据库连接失败时,不会抛出特定的异常。
解决方案因此是:
try {
//Strings always evaluate to boolean true
$dbConnected = (bool)DB::connection('mysql')->getDatabaseName();
}
catch (Exception $e)
{
$dbConnected = false;
}
然后根据变量$dbConnected
来处理您的代码。