¿Cuál es la diferencia entre WP_MEMORY_LIMIT y WP_MAX_MEMORY_LIMIT?
¿Cuál es la diferencia entre
define( 'WP_MEMORY_LIMIT', '96M' );
y
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
En mi host tengo esto
define( 'WP_MEMORY_LIMIT', '786M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
¿es esto correcto, debería el WP_MAX_MEMORY_LIMIT
ser más alto?
WordPress nos dice:
la opción WP_MEMORY_LIMIT te permite especificar la cantidad máxima de memoria que puede consumir PHP. Este ajuste puede ser necesario en caso de que recibas un mensaje como "Allowed memory size of xxxxxx bytes exhausted" (Tamaño de memoria permitido de xxxxxx bytes agotado).
O como lo expresan los documentos de PHP:
[Un límite de memoria] ayuda a evitar que scripts mal escritos consuman toda la memoria disponible en un servidor.
El WordPress Codex también dice esto sobre estas constantes:
Este ajuste [
WP_MEMORY_LIMIT
] aumenta la memoria PHP solo para WordPress, no para otras aplicaciones. Por defecto, WordPress intentará aumentar la memoria asignada a PHP a 40MB (el código está al principio de /wp-includes/default-constants.php) para sitios simples y 64MB para multisitio, por lo que el ajuste en wp-config.php debería reflejar algo superior a 40MB o 64MB dependiendo de tu configuración.
Y esto sobre WP_MAX_MEMORY_LIMIT
específicamente:
Las tareas de administración requieren mucha [más] memoria que las operaciones habituales. Cuando estás en el área de administración, la memoria puede incrementarse o reducirse desde WP_MEMORY_LIMIT definiendo WP_MAX_MEMORY_LIMIT.
Entonces WP_MEMORY_LIMIT
es el límite y WP_MAX_MEMORY_LIMIT
, si está definido, anulará al primero en el área de administración.
Ahora, cuando preguntas "¿es esto correcto?", no hay forma de que te lo podamos decir definitivamente.
Puedes querer aumentar esos límites si tu sitio está creciendo en visitantes y/o plugins activos, pero si no estás experimentando ningún problema, diría que estás bien por ahora.
Si decides aumentar los límites, he descrito los diferentes métodos para incrementar la memoria PHP en esta respuesta. Ten en cuenta la última parte sobre que tu proveedor de hosting podría limitar este valor.

Observé que uno de mis sitios tuvo un problema de 'memoria agotada' durante un proceso de Postie (plugin). Resulta que tenía WP_MEMORY_LIMIT configurado a 300M, pero no había una entrada para WP_MAX_MEMORY_LIMIT. Como Postie opera a nivel de administrador, agregué WP_MAX_MEMORY_LIMIT a 300M en wp-config, y el error de agotamiento de memoria desapareció. Tus resultados pueden variar.

El WP_MEMORY_LIMIT
es el límite predeterminado establecido en el front-end, pero puede incrementarse hasta WP_MAX_MEMORY_LIMIT
en las páginas de wp-admin, así como en ciertas otras funciones como la manipulación de imágenes.
En resumen, querrás tener el WP_MEMORY_LIMIT
configurado principalmente para el acceso al front-end, de manera que no se agote la memoria cuando muchos usuarios concurrentes accedan al servidor. Querrás que el WP_MAX_MEMORY_LIMIT
esté configurado más alto para permitir funciones de administración con requisitos más pesados, pero con menor concurrencia.
