ID: 31038
User updated by: damien dot harper at keops dot net
Reported By: damien dot harper at keops dot net
-Status: Feedback
+Status: Open
Bug Type: OCI8 related
Operating System: Red Hat 8
PHP Version: 4.3.10RC2
New Comment:
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);
}
?>
Previous Comments:
------------------------------------------------------------------------
[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));
------------------------------------------------------------------------
[2004-12-13 10:18:11] damien dot harper at keops dot net
I tried several ways to set the environnement variables up :
1. within /etc/profile (export VARIABLE=value)
2. within apache start script (/usr/local/apache2/bin/apachectl)
3. within the PHP script using PHP's putenv function
All these ones are set :
ORACLE_HOME
ORACLE_SID
LD_PRELOAD
LD_LIBRARY_PATH
NLS_LANG
ORA_NLS33
Still crashing...
------------------------------------------------------------------------
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