2012-06-12 119 views
2

根据PHP.net手册,pg_pconnect将创建一个持久连接,或者如果已存在的连接字符串相同,它将返回现有连接。PHP:如何知道PostgreSQL持久连接是否已经打开?

我的问题是,我想知道,调用是否确实创建一个连接或实际返回相同的,例如,用于加载的情况下,准备语句是第一个连接。

可它实际上是可能的吗?

UPDATE: 带着这个问题,我不是指当前正在运行的PHP脚本。我想知道,如果连接已经(由其他脚本也许换个时间)开有时或这个脚本是在开放的第一个是连接(例如,因为我重置了PostgreSQL服务器)。

回答

1

检查手册。解决方案在其描述中给出。如果您启用了默认启用的持续连接,它将返回现有连接。根据我的经验,我没有任何问题。希望这有助于。 php.net manual for pg_pconnect()

答案更新:我想补充一点Postgres的正常朝着它的连接非常possesive;即使重置服务,它也会尝试保留连接;所以明智的做法是不要使用“检查预先存在的连接”这个事件,因为即使你发现了一种机制来检测新的连接返回事件,它也会被你的手指计数;很少有非常罕见的。

我想你应该改变你的逻辑。

+0

我应该澄清一下我的问题,我很抱歉误会。我会相应地更新我的问题。 – StormByte

+1

祝你好运! ans正在更新。 –

+0

我希望你读过这个http://php.net/manual/en/features.persistent-connections.php –

相关问题