I compiled php 4.2.0 with OCI8 support in a linux Box Red Hat 7.2 with Oracle 9i (9.0.1). The configuration used:
./configure \
--with-config-file-path=/etc \
--with-exec-dir=/usr/bin \
--with-oci8=/oracle \
--enable-track-vars \
--enable-ftp \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-mm=/usr \
--with-system-regex \
--enable-sigchild
Then i execute the next code snipet:
putenv("ORACLE_SID=easy");
putenv("ORACLE_HOME=/oracle");
....
$query = "select * from MID";
$DBconn = OCILogon('scott', 'tiger', 'easy');
print_r($DBconn); // <- everything OK: it prints Resource id#2
$query = "SELECT * FROM TAB";
$stmt = OCIParse($DBconn, $query);
OCIExecute($stmt, OCI_DEFAULT);
$error = OCIError($stmt);
if($error["code"])
{
print $error["message"];
exit;
}
....
Then i obtain the next error:
<b>Warning</b>: OCIStmtExecute: ORA-03106: fatal two-task communication protocol error
in <b>/var/www/html/pruebas_oracle/conn.php</b> on line <b>40</b><br />
ORA-03106: fatal two-task communication protocol error
ORACLE says:
ORA-03106: fatal two-task communication protocol error
Cause: The communication path between Oracle and the user task has stopped. This is an internal error message not usually issued.
Action: Contact customer support.
What it means??