我们真的需要通过我们创建的对象释放内存吗?或者PHP自己处理这个?
到目前为止,我在c ++ free()
中使用了delete
。
答案 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。你决定做什么。要了解每个操作需要多少内存,您需要了解幕后发生的事情。