PHP崩溃与太多的对象

描述:

下面的testing脚本可以正常工作10次,但是崩溃(分段错误)400000次迭代,而不会崩溃。

在Docker上使用Php 7.2(版本17.09.0-ce-mac35(19611)),没有扩展名。

testing脚本:

<?php class Lim { public $id; public $inv; public $fi; function __construct($id) { $this->id = $id; $this->inv = new Inv($this); } }; class Inv { public $inv; public $fi; function __construct($inv) { $this->inv = $inv; } } $max = 400000; //$max = 10; $lim0 = new Lim(0); $limp = $lim0; for ($i=1; $i<$max; $i++) { $lim = new Lim($i); $lim->fi = $limp->inv; $limp->inv->fi = $lim; $limp = $lim; } 

有没有人有一个想法,为什么? 谢谢

你正在创造一个新的$lim而不是摧毁旧的。 所以你的内存不足了

添加这个

 unset($lim); 

 $limp = $lim;