ID:               21812
 User updated by:  [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Feedback
+Status:           Open
 Bug Type:         Reproducible crash
 Operating System: Win2000
 PHP Version:      4.3.0
 New Comment:

The require_once error has not occurred when using 80Mb.

The original require structure ended up including every component in
the system. I added a few if statements to include only those
components required for the script. The original mess might have used
up the default 8Mb of memory. My clean version probably uses less than
1 Mb for my code.

I am using the PHP binary compiled with all options. I think that comes
to about 4 Mb. If that 4 Mb is loaded in to the default 8Mb when
running PHP as a module then my original code would have easily used
the remaining 4 Mb. Changing the allocation to 80Mb may have, in
effect, increased available memory from 4 Mb to 76 Mb.


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

[2003-01-22 17:28:25] [EMAIL PROTECTED]

Has the change on memory_limit entry solved the require_once problem
too?


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

[2003-01-21 21:27:16] [EMAIL PROTECTED]

memory_limit = 80M
in php.ini fixed the XML process error. It can now read the full XML
file without blowing up Apache.

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

[2003-01-21 21:07:24] [EMAIL PROTECTED]

I found a new error causing the same error message from Apache 2. This
error is from an XML processing loop. I think the Apache 2 error
message must be issued any time Apache runs out of memory. Perhaps PHP
is trampling over the end of it's memory allocation or something
similar.

I will try a few more tests then increase PHP's memory allocation in
php.ini and see if that fixes the problem.

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

[2003-01-21 20:26:06] [EMAIL PROTECTED]

require_once();
Parse error: parse error, unexpected ')' in C:\webapps\display.php on
line 10


require_once('');
Fatal error: main() [function.main]: Failed opening required ''
(include_path='.;c:/include;c:/') in C:\webapps\display.php on line 10


require_once('cc');
Warning: main(cc) [function.main]: failed to create stream: No such
file or directory in C:\webapps\display.php on line 10

Fatal error: main() [function.main]: Failed opening required 'cc'
(include_path='.;c:/include;c:/') in C:\webapps\display.php on line 10



require_once(array('cc'));
Notice: Array to string conversion in C:\webapps\display.php on line
10

Warning: main(Array) [function.main]: failed to create stream: No such
file or directory in C:\webapps\display.php on line 10

Fatal error: main() [function.main]: Failed opening required 'Array'
(include_path='.;c:/include;c:/') in C:\webapps\display.php on line 10



The error does not occur when require_once() receives a simple non
string. The error occured when the non string was an array of varied
elements including other arrays and possibly objects. The error occured
repeatedly until I found the offending assignment statement.

I tried to reproduce the error on the first require_once in the script
but did not succeed. The original error was deep in a script with
several requires and some requires including scripts containing
requires. I have now changed the script to a less complicated set of
requires and may not be able to reproduce the depth.

It is possible the crash was caused by the requires looping on
themselves but that type of error usually requires a second or two
before Apache runs out of memory (currently over 500 Mb free). The
crashes were instant.

php.ini has nothing set to increase available memory or change safe
mode or anything else. It runs as a module.

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

[2003-01-21 19:38:21] [EMAIL PROTECTED]

Sorry, I just mistook the platform is *nix.
As I can't reproduce this on my Linux box, this problem is likely to
be Windows specific.

Does Apache segfault when giving a non-existent file name to
require_once()
rather than an array?


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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/21812

-- 
Edit this bug report at http://bugs.php.net/?id=21812&edit=1

Reply via email to