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

Reply via email to