在PhP中创建内存泄漏

时间:2016-10-21 17:37:27

标签: php

今天我被要求在PhP中创建一个内存泄漏(故意)。现在,我在#c& amp; C ++。

我知道#c中没有垃圾收集器,因此c +中的内存泄漏通常是在使用malloc将其从堆栈中删除之前从变量中丢失引用而创建的。

在java和PhP中,我知道当你忘记删除引用时内存会泄露。

因此,任何人都可以创建泄漏的最简单方法之一是:

$leak = [];
$ticks = 0;
while(true){
    $leak[$ticks] = getHugeObject();
    $ticks++;
    unset($leaks[$ticks]); //This creates a memory leak because the tick was already added, before that object gets removed.
}
//Program should crash after reaching memory limit.

这很简单。但是,我不允许使用数组来创建泄漏。所以我觉得因为无法完成这么简单的任务而感到难以置信。想法?

0 个答案:

没有答案