Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /servidoresadmin.php on line 10

Cuando recibimos el error de php Allowed memory size of bytes exhausted significa que el límite establecido en memoria ram para ejecutar php ha sido sobrepasado.

Para solucionar el error debemos asegurarnos que el límite de éste parámetro en php.ini ha sido incrementado:

Cómo aumentar el memory limit global de php:

Primero debemos conocer cuál es nuestro límite definido en php.ini, para ello crearemos un fichero phpinfo.php para que nos muestre nuestro límite y así poder incrementarlo:

<?php

// Muestra toda la información, por omision INFO_ALL
phpinfo();

// Mostrar solo la información de modulos.
// phpinfo(8) produce el mismo resultado.
phpinfo(INFO_MODULES);

?>

Abriremos mediante navegador dominio.com/phpinfo.php y buscaremos el parámetro memory_limit

Como vemos en la imagen nuestro límite es de 128M. Lo vamos a incrementar por ejemplo hasta 512M

Editamos el php.ini de nuestro php:

Dónde encontrar el archivo php.ini?

/etc/php5/apache/php.ini para php5

/etc/php5/fpm/php.ini php php5 con fpm

/etc/php/7.0/fpm/php.ini para php7

/etc/php/7.1/fpm/php.ini para php7.1

Editamos el archivo, aumentando el límite por ejemplo:

memory_limit = 512M ; Máxima cantidad de memoria que un script puede consumer

Una vez realizado el cambio reiniciamos php:

service php5-fpm restart

service php7.0-fpm restart

service php7.1-fpm restart

o

service apache2 restart si trabajamos con apache.

Luego, recargamos la página phpinfo.php para verificar que el cambio se ha realizado.

Una vez estamos seguros que el parámetro de php memory_limit ha sido incrementado, debemos asegurarnos que no hay ninguna restricción en el mismo código del cms que estamos ejecutando.

Aumentar límite de memoria memory_limit  en Prestashop:

Por ejemplo en prestashop, podemos tener un límite puesto en el archivo /config/config.inc.php

ini_set(‘memory_limit’,’128M’);

Si por código limitamos a un valor inferior al declarado en php.ini, seguiremos limitados por el valor menor en el límite de memoria en la ejecución de php.

Aumentar límite de memoria memory_limit  Wordpress:

En el caso de wordpress para aumentar la memoria de ejecución debemos asegurarnos que el archivo wp-config.php no nos limita por debajo de lo declarado en php.ini

define(‘WP_MEMORY_LIMIT’, ‘128M’);

Aumentar el límite de memoria memory_limit desde .htaccess de Apache:

 Añadimos la siguient línea dentro de nuestro archive .htaccess

php_value memory_limit 512M

 

Aumentar el límite de memoria memory_limit para cualquier código php o otros cms:

Debemos asegurarnos que no hay ninguna definición de memory_limit en nuestro código, para ello buscaremos dentro del código la línea:

ini_set(‘memory_limit’, ‘512M’);

 

Aumentar el límite de memoria memory_limit desde apache:

 php_value memory_limit 256M

Aumentar el límite de memoria memory_limit desde Plesk:

 Para modificar el valor de  memory_limit para un dominio en Plesk, vamos a Plesk > Subscriptions > servidoresadmin.com > PHP Settings > memory_limit y ponemos el nuevo valor, por ejemplo, 1024M.

 

memory_limit plesk

Para modificar el límite global del server de memory_limit, desde Plesk:

 Vamos a  Plesk > Tools & Settings > PHP Settings > PHP handler > php.ini > buscar memory_limit y poner un nuevo volor, por ejemplo 1024M.

memory_limit plesk

Aumentar el límite de memoria memory_limit desde Ispconfig:

En apartado php poner:

memory_limit = 628M;

memory_limit_ispconfig

Otros parámetros php que puede interesarnos incrementar:

max_input_vars=5000;(traducciones prestashop)

max_execution_time = 90;

max_input_time = 90;

memory_limit = 512M;

post_max_size = 100M;

upload_max_filesize = 100M;