2010-10-24 197 views
0

我使用PHP + ORACLE +的邪惡聯盟編寫PHP Web的應用程序在iis :) 正在執行每次腳本創建到DB一個新的連接 - 這需要時間:持久連接

class ORACLE_layer { 

    public function __construct($usr, $pwd, $db) { 
     $this->conn = oci_connect ("...") 
    } 

    function __destruct() { 
     oci_close($this->conn); 
    } 
} 

我聽說過「持續連接」。 我應該使用它們嗎? 「oci_pconnect」 我是否需要刪除該行:「oci_close($ this-> conn);」從「__destruct」?

回答

1

你是否應該使用與否不能沒有一些考慮回答:

使用oci_pconnect()使得經常使用的應用程序的整體連接速度有了很大的改進,因爲它使用PHP連接緩存。如果已經存在於PHP緩存中,則不必創建到數據庫的新物理連接。但是,如果當前未使用,則打開的持久連接會在數據庫服務器上消耗太多內存,請考慮調整超時參數或使用連接池。

退房

,以瞭解更多有關連接到Oracle從PHP有效。

+1

只是爲了增加Gordon的答案 - 如果PHP沒有像CGI那樣運行,那麼只有使用持久賦值才能獲得好處,例如對於IIS,它需要以fastCGI – symcbean 2010-10-26 11:06:44

0

查看可用的常駐連接池,從11.2開始。這將解決您的問題。