Aumentar límite de memoria PHP en PrestaShop (cPanel, Plesk, DirectAdmin)
¿Por qué PrestaShop me pide aumentar el límite de memoria PHP?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de error molesto en tu tienda online. Frases como "Fatal error: Allowed memory size of X bytes exhausted" o un panel de administración que se queda en blanco son síntomas clásicos de que tu tienda necesita más memoria. No te preocupes, es más común de lo que piensas y, sobre todo, tiene solución. Este problema suele aparecer cuando instalas módulos nuevos, cuando tu catálogo de productos crece o cuando intentas actualizar PrestaShop a una versión más reciente.
El límite memoria PHP PrestaShop es, en esencia, la cantidad máxima de memoria (RAM) que un script de PHP puede utilizar. PrestaShop es una plataforma potente y con muchas funcionalidades, pero también es "hambrienta" en recursos. Si ese límite es demasiado bajo, la tienda se bloquea. La buena noticia es que aumentar memory_limit PrestaShop es un proceso sencillo si sabes dónde mirar, y aquí te voy a guiar paso a paso para hacerlo en los paneles de control más habituales: cPanel, Plesk y DirectAdmin.
Antes de empezar, una aclaración importante. No existe una única solución mágica, ya que el método depende de la configuración de tu servidor. Pero no te abrumes, vamos a ver las opciones más comunes y efectivas. Te prometo que al final de esta guía serás capaz de solucionar los errores memoria PrestaShop por ti mismo, sin necesidad de pagar a un técnico cada vez que aparezca uno.
¿Cuál es el valor recomendado de memory_limit para PrestaShop?
PrestaShop, por defecto, suele pedir un mínimo de 128 MB, pero lo realmente recomendado para un funcionamiento fluido es de 256 MB. Si tu tienda es grande, tienes muchos módulos activos o manejas un catálogo extenso, lo ideal es subir a 512 MB o incluso 1 GB. Piensa en ello como el espacio de trabajo de tu tienda; cuanto más grande sea, más cómoda trabajará, pero tampoco es necesario excederse si tu tienda es pequeña, ya que malgastarías recursos del servidor.
Vamos a ver ahora cómo hacerlo en los tres paneles de control más populares. No importa cuál uses, aquí tienes la solución.
Aumentar el límite de memoria PHP en cPanel
cPanel es uno de los paneles más extendidos en el hosting compartido. Es muy visual y, para nuestra tarea, tiene varias rutas. Te voy a mostrar las dos más efectivas.
Método 1: Usando el selector de versiones de PHP (MultiPHP INI Editor)
Este es el método más limpio y recomendado. Te permite cambiar la configuración de PHP sin tocar archivos manualmente (aunque también lo haremos luego).
- Accede a tu cPanel: Inicia sesión con tus credenciales de usuario.
- Busca la sección "Software": Generalmente está en la parte inferior de la pantalla principal. Dentro de ella, busca el icono llamado "MultiPHP INI Editor" o "Editor de configuración de PHP".
- Selecciona tu dominio: Verás un menú desplegable con los dominios de tu cuenta. Elige el dominio donde está instalada tu tienda PrestaShop.
- Edita el valor
memory_limit: En la lista de opciones, busca la línea que dicememory_limit. En la columna de la derecha, verás un valor (por ejemplo,128M). Bórralo y escribe el nuevo valor, por ejemplo,512M. - Guarda los cambios: Haz clic en el botón "Apply" o "Guardar". El sistema guardará la configuración y la aplicará al momento.
[TIP] Este método es perfecto porque también te permite ajustar otros parámetros útiles como max_execution_time (tiempo máximo de ejecución) o upload_max_filesize (tamaño máximo de subida de archivos), que a veces también dan problemas con módulos pesados.
Método 2: Editando el archivo .htaccess
Si no encuentras el editor anterior (a veces el hosting lo tiene limitado), podemos usar el archivo .htaccess. Este archivo controla la configuración del servidor en el directorio donde se encuentra.
- Ve al Administrador de Archivos: En cPanel, busca la sección "Archivos" y haz clic en el "Administrador de Archivos".
- Localiza la carpeta de tu tienda: Normalmente es la carpeta
public_htmlo la raíz del dominio. Dentro, busca el archivo llamado.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en la esquina superior derecha. - Edita el archivo: Haz clic derecho sobre él y selecciona "Editar". Se abrirá un editor de texto.
- Añade el código: Al final del archivo, añade las siguientes líneas. Si ya existe una línea con
php_value memory_limit, solo cámbiala por el nuevo valor.
<IfModule mod_php7.c>
php_value memory_limit 512M
</IfModule>
Si tu servidor usa PHP 8 o superior, la línea sería:
<IfModule mod_php.c>
php_value memory_limit 512M
</IfModule>
- Guarda los cambios: Haz clic en "Guardar" y luego en "Cerrar".
[WARNING] Este método puede no funcionar si tu hosting tiene configurado PHP como módulo CGI/FastCGI en lugar de como módulo Apache. En ese caso, te dará un error 500. Si ocurre, simplemente borra las líneas que has añadido para restaurar el sitio y usa el método del MultiPHP INI Editor.
Aumentar el límite de memoria PHP en Plesk
Plesk es otro panel muy común, especialmente en VPS y servidores dedicados. El proceso es ligeramente diferente pero igual de sencillo.
Método 1: Desde la configuración de PHP para tu dominio
- Accede a Plesk: Inicia sesión con tu usuario administrador o el de tu suscripción.
- Ve a "Sitios web y dominios": En el menú lateral izquierdo, haz clic en esta opción.
- Selecciona tu dominio: Haz clic en el nombre de dominio de tu tienda.
- Busca "Configuración de PHP": Dentro del menú del dominio, en la pestaña "Configuración" o en el apartado de "Hosting", verás una opción que dice "Configuración de PHP". Haz clic en ella.
- Edita
memory_limit: Se abrirá una lista con todos los parámetros de PHP. Buscamemory_limit. Puedes usar el buscador de la página para ir más rápido. En el campo de texto, escribe el nuevo valor, por ejemplo,512M. - Aplica los cambios: Haz clic en el botón "Aplicar" en la parte inferior.
[INFO] Plesk es muy ordenado y este cambio se aplica solo al dominio seleccionado, no a todos los sitios del servidor, lo cual es una gran ventaja si tienes varios proyectos.
Método 2: Modificando el archivo ini.php (si el método anterior falla)
A veces, la configuración de PHP está bloqueada por el administrador del servidor. En ese caso, podemos intentar crear un archivo php.ini personalizado en la raíz del dominio.
- Ve al Administrador de Archivos: En Plesk, dentro de "Sitios web y dominios", haz clic en "Administrador de archivos" en la barra superior.
- Navega a la raíz: Entra en la carpeta
httpdocs(opublic_html). - Crea un archivo: Haz clic en "Nuevo archivo" y nómbralo
php.ini. - Edita el archivo: Selecciónalo y haz clic en "Editar". Dentro, escribe lo siguiente:
memory_limit = 512M
- Guarda y verifica: Guarda el archivo. Si el problema persiste, puede que el hosting no permita esta sobreescritura.
Aumentar el límite de memoria PHP en DirectAdmin
DirectAdmin es un panel más "de nicho" pero muy eficiente y rápido. El proceso es similar a los anteriores.
Método 1: Usando el selector de PHP
- Accede a DirectAdmin: Inicia sesión con tu usuario.
- Busca el icono de "PHP": En el panel principal, busca el icono llamado "PHP" o "Configuración de PHP". Puede estar en la sección "Cuenta" o "Avanzado".
- Selecciona tu dominio: Si tienes varios, elige el de tu tienda.
- Edita
memory_limit: En la lista de opciones de PHP, localizamemory_limit. Haz clic en el campo de texto y cambia el valor (ej.512M). - Guarda: Haz clic en "Guardar" o "Actualizar".
Método 2: Creando un archivo .user.ini
Si no tienes acceso al selector de PHP, puedes crear un archivo .user.ini en la raíz de tu dominio. Este archivo es específico para PHP-FPM.
- Ve al Administrador de Archivos: En DirectAdmin, busca el icono "Administrador de archivos".
- Entra en tu dominio: Navega hasta la carpeta
domains/tudominio.com/public_html(oprivate_html). - Crea el archivo: Haz clic en "Crear archivo" y nómbralo
.user.ini. - Edítalo: Haz clic derecho y selecciona "Editar". Añade:
memory_limit = 512M
- Guarda los cambios: Guarda el archivo. Es importante que el archivo tenga los permisos adecuados (644).
¿Y si uso Syspanel (HestiaCP)?
[INFO] Si tu hosting te da acceso a Syspanel (antes conocido como HestiaCP), el proceso es un poco distinto. Para acceder a la configuración, deberás conectarte a tu servidor por SSH (si tienes acceso) o usar el Administrador de archivos de Syspanel. Recuerda que el puerto de acceso a Syspanel es el 2106.
- Accede al Administrador de archivos: Dentro de Syspanel, ve a "Web" y luego a "Archivos" en el menú de tu dominio.
- Navega a la raíz: Entra en la carpeta
public_html. - Crea un archivo
.user.ini: Igual que en DirectAdmin, crea un archivo llamado.user.inicon el contenidomemory_limit = 512M. - Alternativa por SSH: Si tienes acceso por terminal, puedes ejecutar el comando
nano /home/usuario/conf/web/tudominio.com/php-fpm.confy modificar la líneaphp_admin_value[memory_limit] = 512M. Luego reinicia PHP-FPM consystemctl restart php-fpm.
Verificar que el cambio se ha aplicado correctamente
Después de realizar cualquiera de estos cambios, es crucial verificar que realmente se ha aplicado. La forma más fácil es crear un archivo de prueba.
- Crea un archivo llamado
test.phpen la raíz de tu dominio (en la misma carpeta donde está tu PrestaShop). - Ábrelo con un editor y escribe lo siguiente:
<?php
phpinfo();
?>
- Accede a ese archivo desde tu navegador:
tudominio.com/test.php. - Busca la línea
memory_limit. Debería mostrar el nuevo valor que has configurado. - IMPORTANTE: Borra el archivo
test.phpinmediatamente después de verificarlo. Dejar un archivophpinfo()expuesto es un grave riesgo de seguridad, ya que revela información sensible de tu servidor a cualquiera.
Solución de problemas comunes (FAQ)
¿Por qué sigo viendo el error de memoria si ya he subido el límite?
Esto puede deberse a que el valor que has cambiado no es el correcto. Asegúrate de estar editando la configuración del dominio donde está instalada la tienda. También es posible que necesites un valor aún más alto. Si tu tienda es muy pesada, prueba con 1024M (1 GB).
¿Aumentar la memoria PHP afecta al rendimiento de mi tienda?
No directamente. Aumentar el límite solo permite que tus scripts puedan usar más memoria si la necesitan. No significa que la vayan a usar siempre. Es como tener un coche con un depósito más grande; no consumes más gasolina por tenerlo, solo puedes recorrer más distancia sin repostar. El rendimiento real depende de la optimización del código y de los recursos del servidor.
¿Qué hago si el cambio no se aplica y me da un error 500?
Si al editar el .htaccess te da un error 500, es que tu servidor no permite esa directiva. Revierte el cambio (borra las líneas que añadiste) y usa el método del editor de PHP de tu panel (MultiPHP, Plesk, etc.). Si el error viene de un .user.ini, verifica que el archivo no tenga errores de sintaxis y que los permisos sean 644.
¿Cuál es el valor máximo que puedo poner?
No hay un límite teórico, pero es poco recomendable poner más de 1024M en un hosting compartido. Si tu tienda necesita más de 1 GB, es señal de que tienes un problema de optimización o de que tu plan de hosting es insuficiente. En ese caso, considera migrar a un VPS o a un plan dedicado.
[TIP] Si después de aumentar la memoria sigues teniendo errores memoria PrestaShop, el problema puede estar en un módulo mal optimizado. Desactiva los módulos uno a uno para identificar al culpable. A veces, un simple módulo obsoleto es el que está consumiendo todos los recursos.
Con esta guía, ya tienes las herramientas para solucionar este problema tan habitual. Recuerda siempre hacer una copia de seguridad de tu tienda antes de hacer cualquier cambio de configuración, aunque sea tan simple como este. ¡Tu tienda online te lo agradecerá!
