🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo aumentar el límite de memoria de PHP para PrestaShop en DirectAdmin

Actualizado el 22 de septiembre de 2025

¿Por qué aparece el error de memoria en PrestaShop?

Si estás leyendo esto, es muy probable que hayas visto un mensaje parecido a este en tu tienda: "Fatal error: Allowed memory size of X bytes exhausted" o el famoso "Error de memoria en PrestaShop". No te preocupes, no has roto nada. Es uno de los avisos más comunes en el mundo del hosting y tiene una solución clara.

El límite de memoria PHP (conocido técnicamente como memory_limit PrestaShop DirectAdmin) es como la "mesa de trabajo" que tu servidor le da a cada script de PHP para que funcione. Si tu tienda tiene muchos módulos, productos o un tráfico alto, necesitará más espacio en esa mesa. Cuando se llena, el sistema se detiene y te muestra ese error tan molesto.

En este artículo, te voy a explicar paso a paso cómo aumentar el límite de memoria de PHP para PrestaShop en DirectAdmin, sin necesidad de ser un experto en servidores. Vamos a por ello.


¿Cuál es el límite de memoria recomendado para PrestaShop?

Antes de ponernos manos a la obra, es importante saber a dónde queremos llegar. PrestaShop es una plataforma exigente, y aunque el límite por defecto suele ser de 128M (128 megabytes), lo recomendable es tener al menos:

  • 256M para tiendas pequeñas o medianas.
  • 512M si tienes muchos módulos, catálogos grandes o plantillas pesadas.
  • 1G (1024M) solo en casos extremos, como tiendas con mucho tráfico o aplicaciones personalizadas.

La mayoría de los errores de memoria se solucionan subiendo el límite a 256M o 512M. No te recomiendo poner valores excesivamente altos si no los necesitas, porque podría afectar al rendimiento general del servidor.


Antes de empezar: haz una copia de seguridad

[WARNING]
Modificar archivos de configuración de tu servidor es un proceso seguro si lo haces con cuidado, pero siempre debes hacer una copia de seguridad antes de tocar nada. Aunque los cambios son reversibles, es mejor prevenir que lamentar. Puedes hacer una copia de los archivos que vamos a editar o, si tu hosting lo permite, una copia de seguridad completa del sitio.


Método 1: Aumentar el límite de memoria desde el panel de DirectAdmin

La forma más sencilla y visual de hacer este cambio es a través del propio panel de control de DirectAdmin. Sigue estos pasos:

Paso 1: Accede a tu panel de DirectAdmin

Entra en tu cuenta de hosting y localiza la sección de "Configuración de PHP" o "PHP Settings". Dependiendo de la versión de DirectAdmin, puede estar en:

  • "Advanced Features" (Funciones avanzadas).
  • "Account Manager" (Gestor de cuenta).
  • Directamente en el menú lateral como "PHP Version" o "PHP Configuration".

Paso 2: Busca la opción de memory_limit

Una vez dentro de la configuración de PHP, verás una lista de parámetros. Busca la variable llamada memory_limit. Haz clic sobre ella o en el botón de editar (normalmente un lápiz).

Paso 3: Cambia el valor

En el campo de valor, escribe la nueva cantidad. Por ejemplo:

  • 256M
  • 512M

Asegúrate de que la letra "M" esté en mayúscula, ya que significa megabytes. Si pones 256m en minúscula, algunos sistemas podrían no reconocerlo correctamente.

Paso 4: Guarda los cambios

Haz clic en "Save" o "Guardar". DirectAdmin aplicará el cambio automáticamente y te mostrará un mensaje de éxito.

Paso 5: Verifica el cambio

Para asegurarte de que el cambio se ha aplicado, puedes crear un archivo de prueba llamado phpinfo.php en la raíz de tu tienda con el siguiente contenido:

<?php phpinfo(); ?>

Luego accede a tudominio.com/phpinfo.php en tu navegador y busca la línea memory_limit. Verás el nuevo valor. No olvides borrar este archivo después, ya que expone información sensible de tu servidor.


Método 2: Modificar el archivo .htaccess

Si no encuentras la opción en DirectAdmin, o si tu hosting tiene una configuración más restrictiva, puedes usar el archivo .htaccess. Este archivo está en la raíz de tu PrestaShop (la carpeta donde están las carpetas admin, modules, themes, etc.).

Paso 1: Localiza el archivo .htaccess

Usa el Administrador de Archivos de DirectAdmin o un cliente FTP (como FileZilla) para acceder a la raíz de tu tienda. Si no ves el archivo .htaccess, asegúrate de que tienes habilitada la opción de "mostrar archivos ocultos".

Paso 2: Edita el archivo

Descarga una copia del archivo y ábrelo con un editor de texto (como Notepad++ o Sublime Text). Al final del archivo, añade estas líneas:

php_value memory_limit 512M
php_value max_execution_time 300

La primera línea aumenta la memoria y la segunda aumenta el tiempo máximo de ejecución (esto también ayuda con errores de tiempo de espera).

Paso 3: Sube el archivo modificado

Guarda los cambios y sube el archivo de nuevo a la raíz de tu tienda, reemplazando el original.

[INFO]
Este método funciona en la mayoría de los servidores Apache, pero si tu hosting usa LiteSpeed o Nginx, puede que no funcione. En ese caso, es mejor usar el método 1 o el método 3.


Método 3: Crear un archivo php.ini personalizado

Este es el método más fiable y el que te recomiendo si los anteriores no funcionan. Consiste en crear un archivo llamado php.ini en la carpeta raíz de tu PrestaShop.

Paso 1: Crea el archivo php.ini

Ve al Administrador de Archivos de DirectAdmin y navega hasta la raíz de tu tienda. Haz clic en "Create" (Crear) y luego en "File" (Archivo). Nombra el archivo como php.ini.

Paso 2: Añade la configuración

Abre el archivo recién creado y pega este contenido:

memory_limit = 512M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M

Los dos últimos valores son opcionales, pero te ayudarán si también tienes problemas al subir archivos pesados (como imágenes de productos).

Paso 3: Guarda y verifica

Guarda el archivo y verifica con el método de phpinfo.php que mencioné antes. Si el valor no cambia, puede que necesites crear el archivo en una carpeta específica de PHP. Prueba a colocarlo también en la carpeta public_html o en la carpeta modules si el problema persiste.


Método 4: Modificar el archivo config/settings.inc.php de PrestaShop

Este método es específico de PrestaShop y puede ser útil si los anteriores no dan resultado. PrestaShop tiene un archivo de configuración donde puedes forzar el límite de memoria.

Paso 1: Accede a la carpeta config

En la raíz de tu tienda, entra en la carpeta config y busca el archivo settings.inc.php.

Paso 2: Añade la línea de memoria

Edita el archivo y añade esta línea justo después de la etiqueta de apertura <?php:

ini_set('memory_limit', '512M');

Paso 3: Guarda el archivo

Guarda los cambios y sube el archivo si lo estabas editando desde tu ordenador. Este método es muy efectivo porque PrestaShop ejecutará esa instrucción en cada carga de página.


¿Qué hago si sigo teniendo errores de memoria?

Si después de aplicar estos métodos el error persiste, puede haber otras causas. Te dejo algunas recomendaciones adicionales:

1. Desactiva módulos innecesarios

A veces el problema no es el límite de memoria, sino que tienes demasiados módulos activos. Ve a tu panel de administración de PrestaShop y desactiva los que no uses.

2. Limpia la caché

PrestaShop acumula mucha caché con el tiempo. Ve a Parámetros avanzados > Rendimiento y limpia la caché. También puedes borrar manualmente la carpeta var/cache (en PrestaShop 1.7) o cache (en versiones anteriores).

3. Optimiza tu base de datos

Una base de datos pesada también puede consumir mucha memoria. Usa herramientas como phpMyAdmin para optimizar las tablas o instala un módulo de limpieza.

4. Contacta con tu proveedor de hosting

Si has probado todo y el error continúa, el problema puede estar en la configuración global del servidor. Contacta con el soporte de tu hosting y explícales que necesitas aumentar memoria PHP para PrestaShop. Ellos podrán ajustar los límites a nivel de servidor.


Preguntas frecuentes sobre el límite de memoria en PrestaShop

¿Cuánta memoria necesita PrestaShop para funcionar correctamente?

Como mínimo, 128M. Pero te recomiendo 256M para un funcionamiento fluido, especialmente si usas módulos de terceros o plantillas complejas.

¿Puedo poner un valor demasiado alto?

Sí, poner valores como 2G o 4G puede afectar al rendimiento del servidor, sobre todo si compartes hosting con otros sitios. Lo ideal es ir probando: primero 256M, y si el error persiste, sube a 512M.

¿Qué significa el error "Allowed memory size of 134217728 bytes exhausted"?

Ese error indica que tu límite actual es de 128M (134217728 bytes = 128 megabytes) y que se ha agotado. Es el error más común y se soluciona subiendo el límite con cualquiera de los métodos anteriores.

¿Sirve el mismo método para otros CMS como WordPress o Joomla?

Sí, los métodos del .htaccess y php.ini funcionan para cualquier CMS. Solo ten en cuenta que la estructura de carpetas de PrestaShop es diferente, así que asegúrate de colocar los archivos en la raíz correcta.

¿Qué es Syspanel?

[INFO]
Syspanel es el nombre que le damos a HestiaCP en este contexto. Si tu hosting usa Syspanel, el puerto de acceso es el 2106. El proceso para cambiar la configuración de PHP es similar al de DirectAdmin, pero tendrás que buscar la sección de "PHP Settings" dentro de ese panel.


Resumen final

Aumentar el memory_limit PrestaShop DirectAdmin es un proceso sencillo si sabes dónde mirar. Lo más rápido es usar el panel de DirectAdmin, pero si no funciona, los métodos del .htaccess y php.ini son igual de efectivos.

Recuerda siempre:

  • Haz una copia de seguridad antes de modificar nada.
  • Empieza con 256M y sube si es necesario.
  • Borra el archivo phpinfo.php después de verificar.
  • Si el error persiste, revisa módulos, caché y base de datos.

Con estos pasos, tu tienda PrestaShop volverá a funcionar sin esos molestos errores de memoria. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Buena suerte con tu tienda!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel