Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理图像时PHP内存泄漏_Php_Memory Leaks_Gd - Fatal编程技术网

处理图像时PHP内存泄漏

处理图像时PHP内存泄漏,php,memory-leaks,gd,Php,Memory Leaks,Gd,我在用PHP处理图像时遇到了麻烦。 图像很好。。。大的这是一张总尺寸为23Mo的高清图片(分辨率为36MP) 我正在这张照片上做一些事情,比如调整它的大小或者将它转换成灰度 问题是,当我在终端上使用htop查看内存使用情况时,我可以看到apache正在使用内存(略高于140Mb),但在图像处理结束时不会释放内存 我一个接一个地删除了每个图像处理功能,现在只有那3行简单的代码,但漏洞仍然存在: $image = imagecreatefromstring( file_get_contents($i

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

我正在这张照片上做一些事情,比如调整它的大小或者将它转换成灰度

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

我一个接一个地删除了每个图像处理功能,现在只有那3行简单的代码,但漏洞仍然存在:

$image = imagecreatefromstring( file_get_contents($imageFullPath) );
imagedestroy($image);
unset($image);
有人知道为什么吗

谢谢


Jim

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

$image = NULL;

不要使用imagedestroy和unset。然后像这样尝试$image=“”@Jimouest2005是的,我一直在删除图像,以防万一。即使使用$image=“”;,泄漏仍然存在@synan54什么是imageFullPath?它的内容?$imageFullPath包含磁盘上映像的完整路径(例如“/tmp/image.jpg”)。注意,我还尝试了imagecreatefromjpeg:)