Error product of memory allocation multiplication would exceed INT_MAX

Si al subir una imagen a PrestaShop recibes el siguiente error:


Se ha producido un error durante el proceso de subida de la imagen


Deberás revisar el archivo error_log que hay en el raíz de tu web (normalmente en la carpeta public_html si tienes tu web en el raíz del hosting), a ver si ves una línea parecida o idéntica a ésta:


PHP Warning:  imagecreatetruecolor(): gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully


Seguramente se deba a que tienes configurado en los ajustes de las imágenes unos valores muy altos, tanto para el tamaño de las imágenes como por el tamaño de alto y ancho en píxeles.


Si bajas esos parámetros desde el BackOffice y guardas, seguramente el problema desaparecerá.


Unos valores "normales" pueden ser:


  • Tamaño del archivo = 2097152 bytes (2MBytes)
  • Ancho de la imagen del producto = 2048
  • Altura de la imagen del producto = 2048


Aquí te mostramos una captura de ejemplo:



Este error lo puedes ver en el error_log que hay en el raíz de tu web.


A su vez, suele estar acompañado de estos otros errores. Esta es la secuencia completa que genera este error:


PHP Warning:  imagecolorallocate() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 274


PHP Warning:  imagefilledrectangle() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 275


PHP Warning:  imagecopyresized() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 284


PHP Warning:  imageinterlace() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 615


PHP Warning:  imagejpeg() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 616


PHP Warning:  imagedestroy() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 620


PHP Warning:  imagecreatetruecolor(): gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully in /public_html/classes/ImageManager.php on line 265


PHP Warning:  imagecolorallocate() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 274


PHP Warning:  imagefilledrectangle() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 275


PHP Warning:  imagecopyresized() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 284


PHP Warning:  imageinterlace() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 615


PHP Warning:  imagejpeg() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 616


PHP Warning:  imagedestroy() expects parameter 1 to be resource, boolean given in /public_html/classes/ImageManager.php on line 620