如何通过PHP刷新池化的PDO连接?

时间:2013-10-08 14:13:52

标签: php pdo database-connection connection-pooling php-pgsql

我正在使用PDO连接到Postgresql数据库,使用PDO :: ATTR_PERSISTENT属性,这会显着加快应用程序的速度。

但是我遇到了一个问题,经过调试后发现,在最后一次执行SQL查询后大约2小时11分钟,与DB的连接就死掉了! 故障发生在服务器之间的防火墙上,但网络人员拒绝超过24小时的限制(说它会减慢防火墙速度),而我需要将其禁用。

我无法通过简单的用法刷新池化连接,因为我无法控制或确保所有池化连接都在旋转基础上提供,确保没有连接会死(以后在服务器上加载时很难调试问题) ,有些联系已经死了,而其他人还活着。)

那么,有没有人对这个问题有任何建议?除了强迫网络人员为这两个特定服务器禁用这个愚蠢的超时规则之外,如何保持池连接的活动?

谢谢!

1 个答案:

答案 0 :(得分:-1)

使用

SELECT 1

作为第一个查询,如果失败,请重新连接。