使用图像时PHP内存泄漏

php memory-leaks gd

264 观看

1回复

36 作者的声誉

我在尝试使用PHP处理图像时遇到了麻烦。图像很好...很大。这是一张高清图片(36MP分辨率),总大小为23Mo。

我正在对此图片进行某些操作,例如调整其大小或将其转换为灰度。

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

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

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

有人知道为什么吗?

谢谢 !

吉姆

作者: jimouest2005 的来源 发布者: 2016 年 1 月 8 日

回应 (1)


0

578 作者的声誉

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

$image = NULL;
作者: synan54 发布者: 08.01.2016 09:36
32x32