我们需要在PHP中释放内存吗?

时间:2014-03-25 12:21:16

标签: php memory memory-management

我们真的需要通过我们创建的对象释放内存吗?或者PHP自己处理这个?

到目前为止,我在c ++ free()中使用了delete

2 个答案:

答案 0 :(得分:1)

不,我们基本上不需要释放内存,因为php会在脚本结束后立即自动进行垃圾回收。

答案 1 :(得分:1)

您无法实际控制PHP中的内存分配。 PHP在创建和销毁变量时分配内存并释放内存。所以:不,你不能手工释放记忆而且也不能这样做。

话虽如此,您可以通过在任何时间在范围内有多少变量/这些变量保存多少数据来间接控制已用内存。如果您的脚本遇到了内存问题,您需要优化存储丢弃这些变量的位置和时间,这样PHP就可以释放相关的内存。

例如,这将占用大量内存:

$var = file_get_contents('really_large_file');

另一方面,这赢得了

$fh = fopen('really_large_file', 'r');
$aFewBytes = fread($fh, 1024);

这就是你管理记忆的方式"用PHP。你决定做什么。要了解每个操作需要多少内存,您需要了解幕后发生的事情。