我需要检查postgres数据库是否可用。
如果数据库在线,我会得到时间戳。
如果db处于脱机状态,我会得到一个laravel PDO Exception
但每次我得到一个Exception并且脚本执行停止
try
{
$con = new PDO("pgsql:host=".$db->Host.";port=".$db->Port.";dbname=postgres", $db->Username, $db->Password, [PDO::ATTR_TIMEOUT => '5']);
$dt = new \DateTime(null, new \DateTimeZone('Europe/Berlin'));
return $dt->getTimestamp();
}
catch(Exception $e)
{
return false;
}
catch(PDOException $e)
{
return false;
}
答案 0 :(得分:1)
尽量在\
前面加上例外:
try
{
$con = new PDO("pgsql:host=".$db->Host.";port=".$db->Port.";dbname=postgres", $db->Username, $db->Password, [PDO::ATTR_TIMEOUT => '5']);
$dt = new \DateTime(null, new \DateTimeZone('Europe/Berlin'));
return $dt->getTimestamp();
}
catch(\Exception $e)
{
return false;
}