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