这可能是个愚蠢的问题。我有两个单独的数据库正在与Laravel 4一起使用,其中一个只能通过特定的IP (安全原因)访问,而另一个则可以访问。我有两个不同的mysql连接。我已经看到数据库连接测试使用如下:
if(DB::connection('mysql')->getDatabaseName()){ }为了测试哪些是可以看到的,哪些是看不到的,我尝试给mysql一个错误的密码。我知道这个丑陋的错误是怎么联系不上的。如果无法访问数据库,是否有一种方法可以使其成为可以忽略数据库的地方?只有一个PHP类在页面加载时调用安全只数据库,但上面的检查似乎不起作用。
发布于 2015-01-22 06:43:59
查看laravel的核心代码,当数据库连接失败时,不会引发任何特定的异常。
因此,解决办法是:
try {
//Strings always evaluate to boolean true
$dbConnected = (bool)DB::connection('mysql')->getDatabaseName();
}
catch (Exception $e)
{
$dbConnected = false;
}然后,根据变量$dbConnected工作您的代码。
https://stackoverflow.com/questions/28079897
复制相似问题