Este es un error muy típico que se produce en nuestros scripts PHP cuando excedemos el límite de memoria que tiene configurado por defecto nuestro servidor. Para solucionarlo podemos conectar a nuestro webmin, en el caso de tenerlo.
https://xxx.xxx.xxx.xxx:10000 Vamos al icono otras opciones PHP Configuration Manage /etc/php.ini Resource limits Y en Maximum memory allocation indicamos por ejemplo 32MB
Otra opción es conectarnos por SSH a nuestro servidor y editar el fichero php.ini. Una vez localizado lo editamos y cambiamos memory_limit a 32MB y reiniciamos nuestro apache.
# find / -name php.ini # /etc/init.d/httpd -k restart
En el caso que nuestro servidor de hosting no permita las soluciones anteriores podemos incluir el siguiente código en nuestros scripts php.
<?php
ini_set("memory_limit","32M");
?>
Si tenemos el módulo de apache mod_rewrite activado en nuestro servidor podemos escribir la siguiente línea en nuestro .htaccess.
php_value memory_limit 32M
Si estamos usando la librería GD para tratar imágenes de muy alta resolución, funciones tan comunes como imagecreatefromjpeg() para crear una nueva imágen a partir de otra dada, nos reportarán errores por lo que también tendremos este tipo de problemas y necesitamos aumentar el valor de memory_limit incluso hasta 64mb. Esto nos podría pasar cuando las imágenes tengan más de 3000px de resolución.