O problema acima ocorreu comigo na tentativa de upload de imagens que eram grandes o suficiente para estourar o limite de 32MB definido no parâmetro memory_limit.
A solução que encontrei foi definir o limite de memória de forma dinâmica, considerando a necessidade de processamento para cada imagem.
// Recebe informações da imagem através do comando getimagesize
$imageInfo = getimagesize("/caminhodaimagem/imagem.jpg");
// Calcula a quantidade em MB
$requiredMemoryMB = ( $imageInfo[0] * $imageInfo[1] * ($imageInfo['bits'] / 8) * $imageInfo['channels'] * 2.5 ) / 1024;
// Arredonda valor para cima
$alocar_memoria_para_imagem = ceil($requiredMemoryMB);
// Define limite de memória de acordo com necessidade da imagem
ini_set('memory_limit', $alocar_memoria_para_imagem.'M');
$imageInfo = getimagesize("/caminhodaimagem/imagem.jpg");
// Calcula a quantidade em MB
$requiredMemoryMB = ( $imageInfo[0] * $imageInfo[1] * ($imageInfo['bits'] / 8) * $imageInfo['channels'] * 2.5 ) / 1024;
// Arredonda valor para cima
$alocar_memoria_para_imagem = ceil($requiredMemoryMB);
// Define limite de memória de acordo com necessidade da imagem
ini_set('memory_limit', $alocar_memoria_para_imagem.'M');
Legal, me ajudou novamente algum tempo depois... rs
ResponderExcluir