I am currently using a php gd implementation to resize images which constantly runs out of memory - rather quickly. I guess the problem are the php functions, like imagecrea
here is a PHP function for you
function make_thumb($src, $dest, $desired_width,$desired_h) {
/* read the source image */
$source_image = imagecreatefromjpeg($src);
$width = imagesx($source_image);
$height = imagesy($source_image);
$desired_height = $desired_h;
/* create a new, "virtual" image */
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);
/* copy source image at a resized size */
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);
/* create the physical thumbnail image to its destination */
imagejpeg($virtual_image, $dest);
}
Source : davidwalsh.name/create-image-thumbnail-php
GD don't use that much memory, so you have other problems in your code.
If you resize multiple images and don't call imagedestroy
on a newly created image, you run in memory leaks.