2012-06-12 118 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 –

相關問題