Re: PHP 4.0 Bug #5871: Connection gets lost
| From: | Rasmus Lerdorf | Date: | Mon, 31 Jul 2000 15:12:28 +0000 |
| Subject: | Re: PHP 4.0 Bug #5871: Connection gets lost | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-27064@lists.php.net to get a copy of this message | ||
Have you tried a recent snapshot? There was a nasty fd-closing bug fixed
recently which could potentially have something to do with this.
-Rasmus
On 31 Jul 2000 Oliver.Reiniger@promatis.de wrote:
> From: Oliver.Reiniger@promatis.de
> Operating system: Sun Solaris 2.7
> PHP version: 4.0.1pl2
> PHP Bug Type: Oracle related
> Bug description: Connection gets lost
>
> 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
>
>
>
>
>