oci_pconnect

(PHP 5)

oci_pconnect -- 使用一個持久連線連到 Oracle 資料庫

說明

resource oci_pconnect ( string username, string password [, string db [, string charset [, int session_mode]]] )

oci_pconnect() 建立一個到 Oracle 伺服器的持久連線並登入。持久連線會被緩衝並在請求之間重複使用,可以降低每個頁面加載的消耗。一個典型的 PHP 套用程式對於每個 Apache 子程式(或是 PHP FastCGI/CGI 程式)會有一個開啟的持久連線到 Oracle 伺服器。更多訊息見資料庫持久連線一節。

注: 自 OCI8 增加庫版本 1.1 起,持久 Oracle 連線的生命週期和最大數目可以通過設定以下配置選項來調整:oci8.persistent_timeoutoci8.ping_intervaloci8.max_persistent

可選的第三個參數可以是本地 Oracle 案例的名字或是是在 tnsnames.ora 的條目中的名字。若果沒有指定第三個參數, PHP 使用環境變量 ORACLE_SIDTWO_TASK 來分別確定本地 Oracle 案例的名字和 tnsnames.ora 的位置。

session_mode 參數自版本 1.1 起可用並接受如下值:OCI_DEFAULTOCI_SYSOPEROCI_SYSDBA。若果指定了 OCI_SYSOPEROCI_SYSDBA 其中之一,oci_new_connect() 將嘗試使用外部認證訊息建立特權連線。特權連線預設被禁止。要啟用,需要將 oci8.privileged_connect 設為 On。

注: 若果 PHP 用的是 Oracle Instant Client,可以用容易的命名連線方法,說明見這裡:http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306。基本上這意味著可以指定 "//db_host[:port]/database_name" 作為資料庫名。但若果想用命名的舊方法則必須設定 ORACLE_HOMETNS_ADMIN 二者之一。

使用 Oracle 伺服器 9.2 或更高版本,可以指定 charset 參數,其將被用於新的連線。若果使用 Oracle 伺服器低於 9.2 的版本,本參數將被忽略並以 NLS_LANG 環境變量替代之。

oci_pconnect() 返回連線標識符,出錯則返回 FALSE

注: 在 PHP 5.0.0 之前的版本必須使用 ociplogon() 替代本函數。該函數名仍然可用,為向下相容作為 oci_pconnect() 的別名。不過其已被廢棄,不推薦使用。

參見 oci_connect()oci_new_connect()