php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #5871 Connection gets lost
Submitted: 2000-07-31 13:57 UTC Modified: 2000-07-31 14:05 UTC
From: Oliver dot Reiniger at promatis dot de Assigned:
Status: Closed Package: Other
PHP Version: 4.0.1pl2 OS: Sun Solaris 2.7
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: Oliver dot Reiniger at promatis dot de
New email:
PHP Version: OS:

 

 [2000-07-31 13:57 UTC] Oliver dot Reiniger at promatis dot de
Using the script given below once a second, everything is working fine, but when we simulate a high load on the server (pressing the reload-button as often as possible) connection to ORACLE breaks up. PHP says: Error on OCIExcute (ORA-03114) you are not longer connected to ORACLE. 

Examining the error-log of Apache I've found another ORACLE Error: failed to rollback outstanding transactions!: ORA-12571: TNS:packet writer failure.

Trace-Files of ORACLE-Database give no hint.

When the error occurs the script cannot be executed any more. Restarting Apache the script is executed but the error is reproducable. Rebooting the whole box, the error cannot be reproduced for about two or three days uptime, but comes back afterwards.

Avoiding the PHPLIB-Objects using a plain script with OCILogon, OCIParse, OCIExecute, OCIFetch, OCILogoff seems to be stable but perhaps it's just using less execution time and space on the server (cannot rely on that).

This is what we're using:
- Apache/1.3.12 (Unix) ApacheJServ/1.1.2 PHP/4.0.1pl2 PHPLib 7.2c
- Skript:
 -------------------------------------8<----------------------------------------------------------------
<?php

/*
 * PROMATIS AG O.Reiniger, 26.07.2000
 *
 */

//
// Include necessary PHP-Library
//  
include("db_oci8.inc");
 
//
// Define a new DB-Connection-Class using PHP_LIB
//
class OO_DB_Connect extends DB_Sql {
  var $ClassName = "OO_DB_Connect"; 
  var $Database  = "ORCL";
  var $User      = "scott";
  var $Password  = "tiger";

}
 
//
// Instanciate Object of DB-Connection-Clss
// (connect should be done now)
//
$q = new OO_DB_Connect;

//
// Execute Query
//
$query = "Select bezeichnung from rubriken";
$q->query($query);

//
// Fetch the results and print a table containing it's content
//
 
echo "<TABLE>";
echo "<TR>";

$j = 0;
while ($q->next_record()) {
   $j ++;
   if(($j % 10) == 0) {
     echo "</TR>";
     echo "<TR>";
   }
   echo "<TD>";
   echo $q->f("bezeichnung");
   echo "</TD>";
}

echo "</TR>";
echo "</TABLE>";
 
?>
------------------------------------------------------------>8----------------------------------------------------------------

+ PHP-Config:
---------------------------------------------------------8<-------------------------------------------------------------------
./configure' '--prefix=/data/php4'
                                                       '--with-apxs=/data/apache_bms2/bin/apxs'
                                                       '--with-oci8=/ora8/app/oracle/product/8.1.6/' '--enable-trans-sid'
                                                       '--with-xml'
------------------------------------------------------------>8----------------------------------------------------------------
+ ORACLE 8.1.6 Enterprise Edition
+ OCI        8.1.0.0.0


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-07-31 14:05 UTC] waldschrott@php.net
this is not the right place to ask PHPLIB questions, place
contact the adequate PHPLIB forum/list/...
 
PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Mon Jan 30 23:05:54 2023 UTC