我正在尝试使用PHP处理图像。 图像很好......很大。它是一个高清晰度图像(36MP分辨率),总大小为23Mo。
我在这张照片上做了一些事情,比如调整它或将其转换为灰度。
问题是,当我在终端上查看使用htop的内存使用情况时,我可以看到apache正在使用内存(略大于140Mb)但在图像处理结束时没有释放它。
我逐个删除了每个图像处理功能,现在只有那3条简单的线条,但是泄漏仍然存在:
$image = imagecreatefromstring( file_get_contents($imageFullPath) );
imagedestroy($image);
unset($image);
有人知道为什么吗?
谢谢!
吉姆
答案 0 :(得分:0)
这是php中常见的内存问题。 unset($ image)不会从内存中删除图像,只会删除数据链接。尝试像这样的空图像。
$image = NULL;