|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2001-12-12 08:45 UTC] yohgaki@php.net
[2002-01-02 13:57 UTC] lobbin@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 18:00:02 2025 UTC |
Hi there! As far as I understand, the option "memory_limit" sets the mem-limit for ONE script. I installed PHP as a Apache module and I set the memory_limit to 16M (via php.ini). When I allocate 8M of memory, all works fine. But when two different scripts each allocate 8M, I will get sometimes the following message: Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4194304 bytes) in /usr/local/httpd/htdocs/testxx.php on line 6 Both scripts (testx.php and testxx.php) contain the following code: <?php $str = "x"; for($i=0; $i<23; $i++) { $str .= $str; echo strlen($str) . "<br>"; } ?> First, 1 byte will be allocated, then 2, then 4 and so on. The last allocated string has a size of 8M. It's a little difficult to reproduce the problem because I have to call both scripts exactly at the same time from my browser. But, as I said, sometimes I get the described error-message. My question is: Is this normal and memory_limit sets the limit for ALL scripts that are currently running or is this a bug? Thanks in advance! ... tobias wiersch from germany