- Output for 7.0.20, 7.1.0 - 7.1.7, 7.2.0
- memory before loop: 2097152 memory after loop: 2097152
- Output for 7.0.0 - 7.0.14
- memory before loop: 2097152 memory after loop: 10485760
<?php
class Leak {
static protected function &leaked(array &$array = null) {
$array = array('one');
return $array;
}
public function toLeaked($array = null) {
$array = static::leaked($array);
return $array;
}
public function testLeak() {
echo "memory before loop: " . memory_get_usage(true) . PHP_EOL;
for ($i = 0; $i < 20000; $i++) {
$leak = $this->toLeaked();
}
gc_collect_cycles();
echo "memory after loop: " . memory_get_usage(true) . PHP_EOL;
}
}
$leak = new Leak();
$leak->testLeak();