Categorías: Hosting

Fatal error: Allowed memory size of 268435456 bytes exhausted en WordPress. Otro post más… pero diferente

No es la primera vez que me encuentro con el agotamiento de la memoria en sitios de WordPress, y a menudo la información disponible es la misma. Incluso me lleva a recordar ese grupo de «expertos» que repiten el mismo consejo una y otra vez sin aportar nada nuevo a la conversación. Incluso las IA, como ChatGPT, también caen en la misma trampa.

Ninguna IA parece darse cuenta de que en el mundo de la programación hay personas que no siguen las mejores prácticas, y que el software, como WordPress, se nutre de miles de programadores que no respetan las normas de codificación, algo que ni siquiera WordPress impone, lo que abre la puerta a todo tipo de problemas.

Lo habitual  para soluciona el problema de Memory Exhausted en WordPress

Ya conocemos las soluciones típicas:

– Editar `PHP.INI` o `.htaccess` para aumentar el valor de `memory_limit`.
– Modificar las constantes de WordPress llamadas `WP_MAX_MEMORY_LIMIT` y `WP_MEMORY_LIMIT`, que se pueden utilizar en el archivo `wp-config.php`.

Pero claro, esto ya lo sabías. A menudo llegamos al punto de enfrentarnos a este problema porque estamos desesperados, ya sea porque nuestro proveedor de hosting nos dice que no es su problema, dado que ya tenemos asignados hasta 512MB de `max_memory`, o porque alguien nos sugiere desactivar los plugins en lugar de preguntarnos sobre la depuración para identificar la línea de código que causó el error.

## Mi consejo

En primer lugar, activa la depuración en tu WordPress. Puedes encontrar información sobre cómo hacerlo en [Depurar en WordPress](https://codex.wordpress.org/es:Depurar_en_WordPress). Aquí encontrarás valiosa información, incluido el nombre del plugin o tema que está causando el problema debido a su programación deficiente.

Por ejemplo con Elementor Pro. Tras los cambios el sitio quedaba en la obscuridad del error.

 

Primero fue ponerlo en modo debug. (Tambien podemos verlo en el log de errores de PHP en el servidor, entrando via ssh)

Con esto, vemos el error:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 36864 bytes) in /home/usuario/public_html/wp-content/plugins/elementor/includes/base/controls-stack.php on line 665

Pero cuando vemos el código, obervamso que eso simplemnet ha sido el punto de ruptura.

Como vemos que el número de bytes es el corrspondiente a 256M vamos abuscar en nuestro wordpress ese número especial.

public_html > find . -type f -exec grep -l 256M {} \;

En uno de los ficheros ./wp-content/plugins/elegant-addons-for-elementor/elegant-addons-for-elementor.php  encontraremos el tema.


./wp-content/plugins/elegant-addons-for-elementor/elegant-addons-for-elementor.php

Author URI: https://crafthemes.com
Text Domain: elegant-addons-for-elementor
License: GNU General Public License v3.0
*/
if ( ! defined('ABSPATH') ) exit; // No access of directly access
ini_set( 'memory_limit', '256M' );

Aunque WordPress tiene una constante que podría haber sido utilizada para este propósito y hacer el código más legible y sostenible, el programador optó por una solución más complicada.

Además, si examinas el código relacionado con la necesidad de memoria, te darás cuenta de que algunos programadores necesitan con urgencia una revisión de sus conocimientos.

En resumen, aquí tienes la solución. Puedes ajustarla según sea necesario, pero recuerda que cuando te encuentres con otro problema en el futuro, especialmente después de una actualización, deberás recordar esta solución.

Te dejo un enlace sobre el tema en mi wiki, Gestión y configuración de la memoria en WordPress

Abkrim

Yo solo se que no se nada, y que me paso la vida aprendiendo

Entradas recientes

Problemas de Acceso con Centos 7, Almalinux 8, Ubuntu 20.04, y Debian 10/11: Un Enigma Firewall CSF

Descubre cómo solucionar problemas de acceso a servidores con Centos 7, Almalinux 8, Ubuntu 20.04…

9 meses hace

MySQL no inicia debido a errores en la base de datos interna de MySQL

Uno de los mensajes más alarmantes que puedes encontrarte es aquel que indica que tu…

11 meses hace

Actualización de seguridad 6.2.1 para WordPress y la importancia de los backups confiables

La seguridad de nuestro sitio web es de vital importancia en el mundo digital actual.…

12 meses hace

El mito de los ficheros SVG inseguros en las subidas de ficheros

Los ficheros SVG son archivos gráficos vectoriales escalables ampliamente utilizados en diseño web. Aunque no…

12 meses hace

Solución de problemas de errores 500 en Castris Hosting: una guía para usuarios de cPanel

En este artículo, te guiamos en la solución de problemas de errores 500 en Castris…

12 meses hace

DMARC, protección frente al pishing, scam, spoofing en Cpanel

DMARC es un protocolo de autenticación de correo electrónico, diseñado para conceder una mayor protección…

1 año hace