解除分配 PHP require_once 消耗的内存


Deallocating memory consumed by PHP require_once

>假设我这样做

function lol(){
  require_once('somefile.php');
}
lol();
  1. 一旦 lol() 完成执行,require 命令消耗的内存会被释放吗?
  2. 如果没有,如何手动释放要求消耗的内存?即。是否有"取消要求"文件的功能?

这取决于somefile.php将包含的内容。可以使用变量的所有(!)引用上的unset()来释放变量。但是,在下一次运行垃圾收集器后,它们"真正"被释放了。您可以手动触发垃圾回收器,但在大多数情况下,最好让它自己"只做它的工作"。

函数、类和常量一旦被创建就不能被释放,但是闭包可以(因为它们就像变量)。