PHP fclose 没有释放内存
PHP fclose not freeing up memory
我有一个 PHP 循环,我可以通过循环读取和处理几个文件的内容。
<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f);
}
?>
然而,在循环的几次迭代之后,我仍然在 fread()
行收到内存耗尽错误 - 我的理解是使用 fclose()
会释放资源的内存,但事实并非如此?
我已经阅读了有关此事的许多其他问题,它们都使用 fclose()
进行了引用,我已经在这样做了。我也在倾倒 memory_get_usage()/memory_get_peak_usage()
并且它们一直上升直到失败。
我是否误解了 fclose()
如何处理释放内存?
<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f); // this close file
unset($content); // this free memory allocated to content of file
}
?>
我有一个 PHP 循环,我可以通过循环读取和处理几个文件的内容。
<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f);
}
?>
然而,在循环的几次迭代之后,我仍然在 fread()
行收到内存耗尽错误 - 我的理解是使用 fclose()
会释放资源的内存,但事实并非如此?
我已经阅读了有关此事的许多其他问题,它们都使用 fclose()
进行了引用,我已经在这样做了。我也在倾倒 memory_get_usage()/memory_get_peak_usage()
并且它们一直上升直到失败。
我是否误解了 fclose()
如何处理释放内存?
<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f); // this close file
unset($content); // this free memory allocated to content of file
}
?>