ID: 50480 Updated by: j...@php.net Reported By: lesjno at free dot fr -Status: Open +Status: Feedback Bug Type: Scripting Engine problem Operating System: * PHP Version: 5.3.1 New Comment:
Please provide such script that actually has a loop. Simple test suggested this is just expected and memory does not really grow after certain point. Previous Comments: ------------------------------------------------------------------------ [2009-12-15 13:27:53] lesjno at free dot fr Description: ------------ Memory used by the eval() function is not null and can be important (up to 8Ko) especially if the string is not evaluable. This memory used can't be released. Used in a big loop, the memory used is growing up and I get a memory error. Reproduce code: --------------- $result=""; $memory_used1 = memory_get_usage(); $ch="\$result=22;"; if (@eval($ch)===false) {$result = $ch ;} $memory_used2 = memory_get_usage(); echo "result=$result ==><b>memory difference = ".($memory_used2-$memory_used1)."<BR></b>\n"; $memory_used1 = memory_get_usage(); $ch="abcdef"; if (@eval($ch)===false) {$result = $ch ;} $memory_used2 = memory_get_usage(); echo "result=$result ==><b>memory difference = ".($memory_used2-$memory_used1)."<BR></b>\n"; Expected result: ---------------- result=22 ==>memory difference = 0 result=abcdef ==>memory difference = 0 Actual result: -------------- result=22 ==>memory difference = 200 result=abcdef ==>memory difference = 7480 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=50480&edit=1