使用图像时PHP内存泄漏

时间:2016-01-08 09:32:08

标签: php memory-leaks gd

我正在尝试使用PHP处理图像。 图像很好......很大。它是一个高清晰度图像(36MP分辨率),总大小为23Mo。

我在这张照片上做了一些事情,比如调整它或将其转换为灰度。

问题是,当我在终端上查看使用htop的内存使用情况时,我可以看到apache正在使用内存(略大于140Mb)但在图像处理结束时没有释放它。

我逐个删除了每个图像处理功能,现在只有那3条简单的线条,但是泄漏仍然存在:

$image = imagecreatefromstring( file_get_contents($imageFullPath) );
imagedestroy($image);
unset($image);

有人知道为什么吗?

谢谢!

吉姆

1 个答案:

答案 0 :(得分:0)

这是php中常见的内存问题。 unset($ image)不会从内存中删除图像,只会删除数据链接。尝试像这样的空图像。

$image = NULL;