php请求结束时是否释放所有内存?

Tob*_*len 5 php memory-leaks memory-management

在php中是分配用于运行我的页面请求结束时发布的脚本的所有内存,还是我需要担心内存泄漏会随着时间的推移而增加?

van*_*eto 4

不需要。您不需要手动释放(调用unset())资源。PHP 会自动执行此操作。在请求生命周期结束时,所有内容都会被释放。所以不,你不需要为此烦恼。如果你这样做:

<?php
$resource = allocate_heavy_resource();
?>
Run Code Online (Sandbox Code Playgroud)

$resource在请求结束时释放,因此不会泄漏内存。如果确实如此,则意味着 PHP 中存在严重错误,并且任何有关正常操作的讨论都将被忽略。

编辑:当然也有例外。就像持久数据库连接一样。但这些最终都会得到处理,所以这并不是真正的内存泄漏