PHP:检查postgres连接是否还活着?

时间:2015-06-22 01:49:33

标签: php postgresql

我的代码类似于:

$conn = pg_connect($string_connection );

while(true ){
     check if $conn is alive 

     $result= pg_query ($conn,"SELECT * FROM foo");

     do something 

    sleep(60);
}

如何查看$ conn是否还活着?

2 个答案:

答案 0 :(得分:3)

int pg_connection_status($conn)似乎是一个很好的指标。

bool pg_connection_busy($conn)也可能很有趣。

答案 1 :(得分:3)

@cobra_fast已按字面意思回答了问题,因此应该将答案标记为正确。然而...

您通常不检查连接是否有效。除了在连接池空闲检查的情况下,这样做几乎总是错误的。

只需使用连接即可。如果出现问题,请通过关闭连接,打开新连接并在事务开始时重试来处理产生的错误/异常。

首先尝试“测试”连接是浪费时间和精力,因为在测试和使用它时,或者在您正在使用它时,连接可能会中断。这意味着您无论如何都必须处理这些错误情况......如果您要处理它们,那么首先要测试连接是没有意义的。