Forum und email


(PHP 5, PECL oci8:1.1-1.2.4)

oci_pconnect — Connect to an Oracle database using a persistent connection


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

Creates a persistent connection to an Oracle server and logs on.

Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application will have a single persistent connection open against an Oracle server per Apache child process (or PHP FastCGI/CGI process). See the Persistent Database Connections section for more information.

Parameter Liste


The Oracle user name.


The password for username .


This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.


Wenn Sie den Oracle Server in der Version 9.2 oder höher benutzen, können Sie den Zeichensatz, der für eine neue Verbindung genutzt werden soll, mit dem charset Parameter angeben. Verwenden Sie Oracle in einer Version < 9.2 wird dieser Parameter ignoriert und stattdessen die Umgebungsvariable NLS_LANG benutzt.


This parameter is available since version 1.1 and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.


Returns a connection identifier or FALSE on error.


Hinweis: Starting with version 1.1 of the oci8 extension, the lifetime and maximum amount of persistent Oracle connections can be tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.

Hinweis: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: » Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

Hinweis: In PHP versions before 5.0.0 you must use ociplogon() instead. This name still can be used, it was left as alias of oci_pconnect() for downwards compatability. This, however, is deprecated and not recommended.