|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2007-10-08 16:56 UTC] johannes@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 20 09:00:02 2025 UTC |
Description: ------------ I am using the latest stable PHP version 5.2.4 on Windows XP (SP2) and Linux (Kernel 2.6.16) and a MySQL Database version 5.0.45. In both cases mysqli_free_result doesn't seem to free the allocated memory. Reproduce code: --------------- $db = new mysqli("localhost", "username", "password", "database"); for ($i = 1; $i <= 100; $i++) { echo 'turn '.$i.'<br />'; echo "before query: ".memory_get_usage(false).'<br />'; $dbResult = $db->query("SELECT * FROM example LIMIT $i, $i"); $row = $dbResult->fetch_assoc(); echo "before close: ".memory_get_usage(false).'<br />'; $dbResult->free(); unset($dbResult); echo "after close: ".memory_get_usage(false).'<br /><br />'; } Expected result: ---------------- turn 1 before query: 75624 before close: 79736 after close: 75624 turn 2 before query: 75624 before close: 79834 after close: 75624 turn 3 before query: 75624 before close: 79976 after close: 75624 [...] turn 100 before query: 75624 before close: 79858 after close: 75624 Actual result: -------------- turn 1 before query: 75624 before close: 79736 after close: 79872 turn 2 before query: 79872 before close: 84184 after close: 84184 turn 3 before query: 84184 before close: 84200 after close: 84240 [...] turn 100 before query: 85360 before close: 85360 after close: 85360