|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2005-09-12 03:21 UTC] wez@php.net
 | |||||||||||||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 00:00:01 2025 UTC | 
Description: ------------ fread() seems to allocate length amount of memory for getting data from the connection, but does not release it till you do something to variable. If $dat did have data, and you did: $dat=$dat.''; It would then release any unused memory. Not sure if this is a bug, but I thought I would submit it incase. Reproduce code: --------------- <?php $fp=fsockopen('udp://192.168.0.1', 27015, $errno, $errstr); stream_set_blocking($fp, false); $dat=fread($fp, 4096000); fclose($fp); $bmem=memory_get_usage(); echo strlen($dat)."\n"; unset($dat); echo (memory_get_usage()-$bmem)."\n"; ?> Expected result: ---------------- Difference in memory usage should not be so huge as 4095896 bytes. Actual result: -------------- -4095896