Re: Fatal Error: Allowed memory size of 8388608 bytes exhausted - HELP

From: lawrence (lkrubner_at_geocities.com)
Date: 03/18/04


Date: 17 Mar 2004 20:46:15 -0800

soazine@erols.com (Phil Powell) wrote in message news:<1cdca2a7.0403171129.793ec654@posting.google.com>...
> Actually the client is saying it sometimes happens and sometimes
> doesn't happen, and when they refresh their screen it clears itself (I
> assume the memory clears).
>
> Here is line 1135:
> [PHP]$result = mysql_query($this->query, $this->dbcnx) or
> die(@include("$DOCUMENT_ROOT${devpath}errors/query_error.php"));[/PHP]

As was discussed here a few weeks ago, garbage collection is grossly
inefficient in objects in PHP 4. In fact, object memory collection is
so bad it is basically broken. I found this out when I did something
like what you've done here, and moved a function into a class so that
it became a class method. Immediately I began to have max memory
problems.

By default, there is an 8 meg limit on any PHP script. Outside of
objects, PHP is a miracle of efficiency with this 8 megs, and uses
pointers that point to resources that are outside of PHP. Inside of
objects, problems begin.

If the server is your own, you change the default 8 megs to something
higher.



Relevant Pages