ID: 3910
Updated by: [email]sniperphp.net[/email]
Reported By: guage at usa dot net
-Status: Open
+Status: Closed
Bug Type: Oracle related
Operating System: Linux - Redhat 6.1
-PHP Version: php 4.0.01pl2
+PHP Version: 4.0.01pl2
New Comment:

wrong version -> bug got lost, but is propably fixed in later versions
of PHP anyway.



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

[2000-08-21 12:26:06] guage at usa dot net

OciLogoff seems to do something now but does not clear a connection
that has been killed on the oracle server (at least when ociplogon is
used). The only way to recover from this situation is to restart the
httpd server. I have tried to create a new connection via ociplogon
but it continues to try to use the old connection which was killed.
OCIPlogon returns a success but ociexecute returns an error.
connecting to oracle Connected successfully
^- does a ociplogon

Warning: OCIStmtExecute: ORA-00028: your session has been killed in
orabugtest.php on line 12
^--- this is from a ociexecute

killing session !!!!! <--- this does a ocilogoff

Warning: failed to rollback outstanding transactions!: ORA-01012: not
logged on in
orabugtest.php on line 16

Warning: OCIFetchStatement: OCI_INVALID_HANDLE in
orabugtest.php on line 18

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

[2000-08-21 12:19:48] guage at usa dot net

Bug still exists. I have verified for php 4.0.1pl2

Thanks...

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

[2000-08-20 01:54:04] [email]sniperphp.net[/email]

No feedback from user.

--Jani

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

[2000-08-01 23:30:25] [email]waldschrottphp.net[/email]

Please verify that itīs still happening using the latest version of PHP
(release 4.0.1pl2 or CVS).

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

[2000-03-23 13:59:49] guage at usa dot net

In reading the source code in Beta 4.0 it states that OCILogoff doesn't
do anything anymore. This is a problem because when a session is
killed on the database side the connection remains for ever on the
server and you receive ORA-0028 errors when ever you hit an httpd
server which has that particular session. The only solution is to
restart the httpd server.
To reproduce:
1. create a script which does an ociplogon and then executes a
statement.
2. hit reload several times to increase the chance you will hit an
httpd after you kill a session which has already established a
connection to the database.
3. on the server type:
select username,sid,serial# from v$session where username =
'<username you connected with in ociplogon>';
4. do a:
alter system kill session '<sid>,<serial#>';
for each of the sessions.
5. hit reload on your browser.

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


--
Edit this bug report at [url]http://bugs.php.net/?id=3910&edit=1[/url]