Laravel 5.1 - 检查数据库连接

2022-08-30 09:06:39

我正在尝试检查Laravel中是否连接了数据库。

我查看了文档,找不到任何内容。我发现的最接近的东西是这个,但这并不能解决我的问题。

我有三个MySQL实例,它们设置在不同的机器上。以下是我试图实现的目标的简化版本。

  1. 如果数据库 1 已连接,请将数据保存到该数据库 1
  2. 如果数据库 1 未连接,请检查数据库 2 是否连接
  3. 如果数据库 2 已连接,则将数据保存到该数据库 2
  4. 如果数据库 2 未连接,请检查数据库 3 是否已连接
  5. 如果数据库 3 已连接,请将数据保存到该数据库 3

需要明确的是,有没有办法检查数据库是否在Laravel 5.1中连接?


答案 1

尝试仅获取基础 PDO 实例。如果失败,那么Laravel就无法连接到数据库!

use Illuminate\Support\Facades\DB;

// Test database connection
try {
    DB::connection()->getPdo();
} catch (\Exception $e) {
    die("Could not connect to the database.  Please check your configuration. error:" . $e );
}

答案 2

您可以将 alexw 的解决方案与 Artisan 一起使用。在命令行中运行以下命令。

php artisan tinker
DB::connection()->getPdo();

如果连接正常,您应该看到

CONNECTION_STATUS:“连接正常;等待发送。

接近响应的末尾。


推荐