Cómo incrementar la memoria PHP – Error memoria agotada

¿Tienes en pantalla un error que te indica que has agotado el tamaño de memoria permitido? Bueno, seguramente te salga en inglés, algo parecido a allowed memory size exhausted. De ser así, tu WordPress te está indicando que la memoria asignada para su funcionamiento es insuficiente. Para solucionar este error, debes aumentar el límite de memoria PHP.

Este es otro de los errores comunes de WordPress. Pero por habitual que sea, puede que la solución no sea tan rápida como quisieras. Lo bueno de este error es que habitualmente tu web no está fuera de servicio permanentemente hasta su solución.

A continuación te explico por qué se ha producido el error, así como diferentes maneras de solucionarlo. Pruébalas todas ellas y si ninguna funciona, entonces el último punto te mostrará qué medida drástica debes tomar.

Por qué se agota la memoria PHP de WordPress

mensaje que aparece al aparecer el error por memoria PHP agotada

Imagino que en algún momento has tenido abiertas muchas aplicaciones en tu ordenador y éste se ha ralentizado un montón. O directamente se te ha ‘colgado’. En este caso, o bien cierras aplicaciones para que no consuman tanta memoria RAM, o aumentas la memoria. Pues con tu web pasa lo mismo.

El error de memoria agotada se produce porque tu WordPress ha querido utilizar más recursos de los que tenía asignados. Por ejemplo, una situación habitual que provoca esta situación es en el momento de activar un plugin pesado. El resultado es que el servidor en el que tienes alojada la web te ha cortado el grifo y tu WordPress ha petado.

El recurso del servidor que tu web ha intentado consumir más allá del límite es la memoria. Concretamente, la memoria asignada a PHP, el lenguaje de programación sobre el que se basa WordPress. ¿Conoces la expresión «estirar más el brazo que la manga»? Pues esto es lo que te ha pasado.

Como resultado de este error, seguramente tengas en pantalla un mensaje en inglés parecido al siguiente:

Fatal error: Allowed memory size of xxxxx bytes exhausted (tried to allocate xxxxx bytes) in /home/example/public_html/wp-includes/plugin.php on line xxx

Cómo incrementar el límite de memoria PHP

¿Qué cantidad de memoria PHP es suficiente para WordPress? La respuesta no es única pues en el fondo depende de lo que tu web haga. No es lo mismo un pequeño blog de insectos que una revista online de cotilleos.

Históricamente el mínimo de memoria PHP requerida por WordPress ha sido de 64MB. Sin embargo, hoy en día yo te aconsejo incrementar el límite a los 256MB o como mínimo los 128MB. Y es que WordPress hace tiempo que dejo de ser el ‘CMS para hacerse un blog’. Hoy en día puedes hacer virguerías con él pero a mayor espectacularidad, mayor necesidad de recursos.

Seguidamente, te doy tres formas de incrementar el límite PHP de WordPress y con ello solucionar este error. Inténtalo con la primera y si falla, pasa a las siguientes.

Edita el archivo wp-config.php de WordPress

editar wp-config.php

wp-config.php es un archivo que viene por defecto en cualquier instalación de WordPress. Puedes acceder a él mediante FTP. En él figuran básicamente los datos para poder conectar tu web a la base de datos.

Añade la siguiente línea de código a wp-config.php por encima de la línea «Eso es todo, deja de editar! Feliz blogging» (la encontrarás entre las líneas 70 y 75):

define( 'WP_MEMORY_LIMIT', '256M' );

Con ello, le estás diciendo a WordPress que puede incrementar su límite de memoria hasta los 256MB. Guarda los cambios y sube de nuevo wp-config.php al directorio raíz de tu WordPress en el que figuraba. Recuerda reemplazar la versión anterior del archivo por la nueva.

Para comprobar si ya has solucionado el error, carga de nuevo la página con Ctrl + F5 o Cmd + F5 y mira a ver si tu web aparece correctamente.

Crear archivo php.ini

crear archivo php.ini

¿Lo anterior no te ha funcionado? Pues revierte los cambios hechos en wp-config y prueba con esta segunda forma de aumentar la memoria PHP. php.ini es un archivo de configuración de tu servidor muy importante. ¿El motivo? Configura la instalación de PHP, tecnología usada por WordPress.

Si examinas los archivos que tienes en la carpeta raíz de tu web, probablemente no lo veas. La razón para ello es que no suele ser habitual tener que jugar con php.ini. Pero bien, la cosa es que necesitas hacerlo para ver si puedes solucionar el error de memory exhausted.

En caso de tener un php.ini ya creado, edita ese. De lo contrario, lo primero que debes hacer es crear un archivo que se llame php.ini. Si estás usando FileZilla o un cliente FTP similar, haz clic derecho para ver la opción correspondiente. En cambio, si estás con WebFTP de cPanel, tienes la opción ‘Archivo nuevo’ arriba a la izquierda.

A continuación, abre php.ini y añade el siguiente código:

memory_limit = 256M ; Maximum amount of memory a script may consume (256MB)

Guarda los cambios realizados y carga de nuevo tu web. ¿Funciona?

Modifica .htaccess

modifica .htaccess para incrementar límite de la memoria WordPress

Si aún no has podido solucionar el error de memoria agotada, esta es la última bala que te queda.

El archivo .htaccess es otro que tiene toda instalación de WordPress. Te permite modificar algunas configuraciones de tu servidor. Así que accede a él y edítalo para añadir esto, después de ‘# END WordPress’:

php_value memory_limit 256M

De nuevo, guarda el archivo con la modificación y prueba a ver. ¡Cruza los dedos! ????

¿Qué pasa si no puedes aumentar el límite de memoria PHP?

Si estás leyendo estas líneas es porque seguramente ninguna de las tres formas anteriores te han permitido solucionar el error de memoria WordPress agotada. De ser así, debo decirte que ya no está en tus manos y debes contactar con tu proveedor de alojamiento web.

Pídeles que te aumenten la memoria PHP a 128MB o mejor a 256MB. Si lo hacen y tu web funciona, estupendo. Si no lo hacen, es porque no pueden (o no quieren) incrementar el límite de memoria PHP de tu web. Ya sea para no favorecerte frente a otros usuarios o porque tienen así de mal montada la configuración del servidor en el que te alojas.

La cuestión es que llegados a este punto solamente te queda cambiar de proveedor. No es un proceso rápido ni alegre, pues da rabia. Pero siempre digo es que importantísimo tener un buen hosting WordPress, para en parte ahorrarte situaciones así.

Si quieres saber cuál es mi preferido, te dejo este análisis de SiteGround, el hosting que utilizamos. Con este proveedor, el valor por defecto de memory_limit es de 768MB. ????


¡Este artículo toca a su fin! Espero te haya resultado útil y hayas podido solucionar el error memory exhausted de WordPress.

¿Te he ayudado a solucionar el problema de memoria PHP agotada? ¿Qué manera te ha funcionado?

Apúntate a nuestra news

Serás el primero en conocer cada nueva entrada de blog que escribimos para que saques más partido a tu web. En ocasiones, también te hablaremos de nuestra formación.

Información básica sobre protección de datos: Responsable: Artilet Digital, S.L. (SrMomo). Finalidad: Gestionar y enviar información de boletines y promociones a través de correo electrónico. Legitimación: Consentimiento del interesado. Destinatarios: No se cederán a terceros salvo obligación legal. Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del siguiente e-mail: infoARROBAsrmomo.com. Información adicional: Puedes consultar la información adicional y detallada sobre protección de datos en los enlaces en el pié de página.

Deja un comentario

Información básica sobre protección de datos: REPONSABLE: Artilet Digital, S.L. (SrMomo). FINALIDAD: Gestionar la solicitud que realizas en este formulario de contacto. LEGITIMACIÓN: Consentimiento del interesado. DESTINATARIOS: No se cederán a terceros salvo obligación legal. DERECHOS: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del siguiente e-mail: infoARROBAsrmomo.com. INFORMACIÓN ADICIONAL: Puedes consultar la información adicional y detallada sobre protección de datos en los enlaces en el pié de página.

Únete a SrMomo

y mejora tu WordPress

Información básica sobre protección de datos: REPONSABLE: Artilet Digital, S.L. (SrMomo). FINALIDAD: Gestionar y enviar información de boletines y promociones a través de correo electrónico. LEGITIMACIÓN: Consentimiento del interesado. DESTINATARIOS: No se cederán a terceros salvo obligación legal. DERECHOS: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del siguiente e-mail: infoARROBAsrmomo.com. INFORMACIÓN ADICIONAL: Puedes consultar la información adicional y detallada sobre protección de datos en los enlaces en el pié de página.

Únete a SrMomo

y mejora tu WordPress

Información básica sobre protección de datos: REPONSABLE: Artilet Digital, S.L. (SrMomo). FINALIDAD: Gestionar y enviar información de boletines y promociones a través de correo electrónico. LEGITIMACIÓN: Consentimiento del interesado. DESTINATARIOS: No se cederán a terceros salvo obligación legal. DERECHOS: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del siguiente e-mail: infoARROBAsrmomo.com. INFORMACIÓN ADICIONAL: Puedes consultar la información adicional y detallada sobre protección de datos en los enlaces en el pié de página.