如何检查laravel是否已连接到数据库?我四处搜寻,找不到任何可以告诉我这是怎么做的事。
答案 0 :(得分:34)
您可以使用
if(DB::connection()->getDatabaseName())
{
echo "Connected sucessfully to database ".DB::connection()->getDatabaseName().".";
}
它将为您提供已连接数据库的数据库名称,因此您可以使用它来检查您的应用是否已连接到该数据库。
但是...... Laravel只有在需要来自数据库的东西时才会连接数据库,并且在连接尝试时,如果发现任何错误,它会引发PDOException
,所以这就是你能做到的将您的用户重定向到友好页面:
App::error(function(PDOException $exception)
{
Log::error("Error connecting to database: ".$exception->getMessage());
return "Error connecting to database";
});
将其添加到您的app/filters.php
文件中。
在我看来,你真的不需要检查它是否已被置信,只需在异常处理闭包中采取适当的行动。
答案 1 :(得分:5)
您可以使用以下代码:
try{
DB::connection()->getDatabaseName();
}catch(Exception $e){
echo $e->getMessage();
}
答案 2 :(得分:0)
工作:) -
刚刚将此代码添加到app / filters.php
App::error(function(PDOException $exception)
{
Log::error("Error connecting to database: ".$exception->getMessage());
return "Error connecting to database";
});