ID: 31038 User updated by: damien dot harper at keops dot net Reported By: damien dot harper at keops dot net Status: Open Bug Type: OCI8 related Operating System: Red Hat 8 PHP Version: 4.3.10RC2 New Comment:
Wooops, I forgot the interesting part of the included file fonctionsDb.php : <?php ... function connection(){ global $errorCode,$test; $host = "172.16.0.7"; $port = "1521"; $service = "ORACLE9"; $user = "sirenet"; $pwd = "sirenet"; $db="(DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP) (HOST=$host)(PORT=$port) ) ) (CONNECT_DATA=(SERVICE_NAME=$service)) )"; if ($test==1){ $conn = ocilogon($user,$pwd,$db); } else { $conn = @ocilogon($user,$pwd,$db); } if ($conn==""){ $errorCode = 2; } return $conn; } function deconnection($conn){ ocilogoff($conn); } ... ?> Previous Comments: ------------------------------------------------------------------------ [2004-12-14 18:54:28] damien dot harper at keops dot net PHP 4.3.10RC2 Oracle 9 database Oracle 9.2.0.1 client Everything works fine using command line : php myscript.php gives me expected results export ORACLE_SID="ORACLE9" export ORACLE_HOME="/home/oracle/OraHome1" export LD_LIBRARY_PATH="/home/oracle/OraHome1/lib" export TNS_ADMIN="/home/oracle/OraHome1/network/admin/tnsnames.ora" export NLS_LANG="English_America.WE8ISO8859P1" here is the script : <?php include "queries/fonctionsDb.php"; $username = "sirenet"; $passwd = "sirenet"; $host = "172.16.0.7"; $port = "1521"; $service = "ORACLE9"; //$db="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=$host)(PORT=$port)))(CONNECT_DATA=(SERVICE_NAME=$service)))"; $db="SIRENET"; $conn = connection(); if (!$conn) { echo "Connection failed"; echo "Error Message: [" . OCIError($conn) . "]"; exit; } else { echo "Connected!"."\n"; $parse=OCIParse($conn,"select nom from chevaux"); OCIExecute($parse,OCI_DEFAULT); echo "\nRecuperation de donnees\n"; $nrows = ocifetchstatement($parse, $rs, 0, 100,OCI_NUM); $resultTab = ""; $numCol = 0; for ( $iRow = 0; $iRow < $nrows; $iRow++ ) { reset($rs); while ( $column = each($rs) ) { $data = $column['value']; $resultTab[$iRow][$numCol] = $data[$iRow]; echo $iRow.'|'.$numCol.'|'.$resultTab[$iRow][$numCol]; $numCol++; } $numCol = 0; } OCIFreeStatement($parse); deconnection($conn); } ?> ------------------------------------------------------------------------ [2004-12-14 18:45:23] [EMAIL PROTECTED] It works fine on a number of OSes, Web-servers etc. And I still can't see how can I reproduce your problem, as it works perfect for me. Try it with *officially* supported Apache version (as Apache2 is officially NOT recommended), try to run the same code using CLI version. And, please, give me your environment variables values and other additional info, so I'll be able to debug it. ------------------------------------------------------------------------ [2004-12-14 18:32:35] damien dot harper at keops dot net Isn't that MPM related ? ------------------------------------------------------------------------ [2004-12-14 17:33:23] damien dot harper at keops dot net I've just tried... still segmfaulting ! Tried other PHP compilation options but it's still the same ! ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-zlib-dir=/usr/local --enable-force-cgi-redirect --disable-cgi --with-oci8=/home/oracle/OraHome1 --enable-sigchild --with-xml I can't get it to work ! Will a Oracle 10g client will work ? ------------------------------------------------------------------------ [2004-12-14 00:02:59] [EMAIL PROTECTED] This is pure guess, but in file ext/oci8/oci8.c try changing the number 2 on line 2180 to 0 (zero) and recompile PHP. Patch here: Index: oci8.c =================================================================== RCS file: /repository/php-src/ext/oci8/oci8.c,v retrieving revision 1.183.2.16 diff -u -r1.183.2.16 oci8.c --- oci8.c 3 Nov 2004 13:35:56 -0000 1.183.2.16 +++ oci8.c 13 Dec 2004 23:02:12 -0000 @@ -2177,7 +2177,7 @@ /* Safe, charsetid is initialized to 0 */ CALL_OCI(OCINlsEnvironmentVariableGet(&charsetid, - 2, + 0, OCI_NLS_CHARSET_ID, 0, &rsize)); ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/31038 -- Edit this bug report at http://bugs.php.net/?id=31038&edit=1