#47506 [Bgs]: ocilogon returns error very rarely.
ID: 47506
User updated by: yoshida at zend dot co dot jp
Reported By: yoshida at zend dot co dot jp
Status: Bogus
Bug Type: OCI8 related
Operating System: Solaris Sparc 9
PHP Version: 5.2.8
Assigned To: sixd
New Comment:
Hi, sixd,
I find no resource starvation and overload.
I believe the oracle environment variables are set prior to Apache
starting because they are written in apache2/bin/envvars
Previous Comments:
------------------------------------------------------------------------
[2009-02-26 21:04:21] sixd@php.net
Check there is no resource starvation (memory, disk) at times it
occurs.
Make sure Oracle environment variables are set prior to Apache
starting.
Please follow up in a Support forum such as
http://www.oracle.com/technology/forums/php.html
or the
php-db@lists.php.net mail list.
------------------------------------------------------------------------
[2009-02-26 06:10:43] yoshida at zend dot co dot jp
Description:
------------
I find warnings that occurres each about 1 or 3 days.
The warning says,
PHP warning: ocilogon() function.ocilogon OCIEnvNlsCreate() failed.
There is something wrong with your system - please check that
LD_LIBRARY_PATH includes the directory with Oracle Instant Client
libraries....
But the LD_LIBRARY_PATH, the arguments to ocilogon() are all correct.
The warning continues 5 or 15 minutes, but no all ocilogon() fails.
Some ocilogon() fails, Others not fail in the same period.
I change ocilogon() to oci_connect(), but the warning also returns.
I could not find the warning when I use the Oracle Instant Client
9.2.0.5 and php 4.3.8, but I find now the message.
I use now the Oracle Instant Client 10.2.0.3 and php 5.2.8 pair.
I doubt OCI_G(errcode) may return error rarely in spite of correct
arguments.
The OCI_G(errcode) is at 1237 line in /ext/oci8/oci8.c .
OCI_G(errcode) seems to use Oracle API at 446 line in
/ext/oci8/php_oci8_int.h .
Reproduce code:
---------------
$ID = "userid";
$PW = "userpass";
$DB =
"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=userhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=usersrvname)))";
return OCILogon($ID, $PW, $DB);
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=47506&edit=1
Thread (3 messages)