ID:               29779
 Updated by:       [EMAIL PROTECTED]
 Reported By:      robertg2 at hope dot ac dot uk
 Status:           Suspended
 Bug Type:         OCI8 related
 Operating System: Solaris 8
 PHP Version:      5.0.1
 Assigned To:      tony2001
 New Comment:

Yes, these functions establish new connection. But this error can be
also concerned with internal Oracle Interface Library problems (search
this error message in google) and not with PHP. 
Nevertheless, PHP doesn't ping already established connections, because
it would slow down things too much. Probably in the future we will add
an ini setting for it, but currently ociping() is just disabled for
perfomance reasons.


Previous Comments:
------------------------------------------------------------------------

[2004-08-21 21:23:56] robertg2 at hope dot ac dot uk

Thanks Tony.  Can I just clarify something - are you saying that
oci_new_connect() and ocinlogon() don't actually establish new
connections?  I was under the impression that these functions forced a
new connection to be made.

------------------------------------------------------------------------

[2004-08-21 20:30:34] [EMAIL PROTECTED]

It's a known feature and will be probably fixed in future versions. 
Currently you can fix it yourself with uncommenting ociping() function
in oci8.c and recompiling PHP. 
Or, much easier way, do not shutdown the database or restart Apache in
the same time - all established connections will be discarded and
ocilogon/oci_connect will establish new ones.

------------------------------------------------------------------------

[2004-08-21 11:30:08] robertg2 at hope dot ac dot uk

Description:
------------
We've recently upgraded to PHP 5.0.0 (and subsequently PHP 5.0.1) and
have begun to experience a major issue with the OCI8 connection
functions.  The database that the web form integrates with goes offline
for a while every night and immediately afterwards users receive the
following error message - that is, until apache has restarted:

Warning: ocinlogon() [function.ocinlogon]: OCISessionBegin: ORA-24327:
need explicit attach before authenticating a user

I've tried using oci_new_connect, ociconnect and ocinconnect.  I've
tried specifying the whole of the relevant section of tnsnames.ora as
an argument to ocinlogon() as suggested somewhere else - although this
DOES work, it does not solve the problem.

We are running Oracle 9.2 client and database with PHP on Solaris 8
64bit and this is a LIVE SITE!! :(

Reproduce code:
---------------
I suggest:

- Connect to an oracle database using PHP oci8 functions from within
Apache
- Knock that database offline
- Attempt to connect again using PHP oci8 functions within same
instance of apache
- Put the database back online
- Again, attempt to connect to Oracle database from within apache using
OCI8 functions

Expected result:
----------------
The following Oracle error should occur on a successful reproduction of
the problem:

ORA-24327: need explicit attach before authenticating a user




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=29779&edit=1

Reply via email to