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

Aumentar el límite de memoria PHP en PrestaShop (DirectAdmin)

Actualizado el 2 de marzo de 2026

Cuando tu tienda PrestaShop empieza a tener más productos, módulos o tráfico, es muy común que te topes con errores como "Fatal error: Allowed memory size of X bytes exhausted". Esto significa que el límite de memoria PHP se ha quedado pequeño para las tareas que necesita realizar tu tienda. Aumentarlo es una solución rápida y segura, especialmente si gestionas tu hosting con DirectAdmin. En esta guía te explicamos paso a paso cómo hacerlo, incluso si no eres un experto técnico.


¿Qué es el límite de memoria PHP y por qué es importante en PrestaShop?

El memory limit es la cantidad máxima de memoria RAM que puede usar un script de PHP. PrestaShop, al ser un CMS dinámico, necesita memoria para cargar catálogos grandes, procesar imágenes, ejecutar módulos y manejar sesiones de usuarios. Si el límite es muy bajo (por ejemplo, 32M o 64M), es probable que veas pantallas en blanco, errores al guardar productos o fallos en la actualización de módulos.

[INFO] El valor recomendado para PrestaShop es de al menos 128 MB, aunque para tiendas con muchos productos o tráfico elevado se sugiere 256 MB o incluso 512 MB.


Antes de empezar: ¿Qué necesitas saber?

Para modificar el límite de memoria PHP en un servidor con DirectAdmin, tienes varias opciones. La más segura y permanente es editar el archivo php.ini correspondiente a la versión de PHP que usa tu tienda. DirectAdmin permite gestionar múltiples versiones de PHP, así que debes asegurarte de usar la correcta.

[WARNING] Si modificas el archivo php.ini global (del servidor), afectarás a todos los sitios. Para PrestaShop, lo ideal es editar el php.ini local de tu cuenta o usar un archivo .user.ini en la raíz de tu tienda.


Método 1: Aumentar el límite de memoria PHP editando el php.ini local (recomendado)

Este método es el más directo si tienes acceso al panel de DirectAdmin.

Paso 1: Accede a DirectAdmin

Inicia sesión en tu panel de DirectAdmin con tus credenciales de hosting. Normalmente la URL es algo como https://tudominio.com:2222 o la que te haya proporcionado tu proveedor.

Paso 2: Localiza la versión de PHP que usa tu tienda

Dentro de DirectAdmin, busca la sección "Account Manager" o "Advanced Features" y haz clic en "PHP Version Selector" (o "Select PHP Version"). Allí verás qué versión de PHP tienes activa (por ejemplo, 7.4, 8.0, 8.1). Anótala.

Paso 3: Encuentra el archivo php.ini

Vuelve al menú principal y busca "File Manager". Navega hasta la raíz de tu cuenta (normalmente public_html o domains/tudominio.com/public_html). Dentro de esa carpeta, busca un archivo llamado php.ini. Si no existe, puedes crearlo.

[TIP] Si no ves el archivo, activa la opción "Mostrar archivos ocultos" en el File Manager.

Paso 4: Edita o crea el archivo php.ini

Haz clic derecho sobre php.ini y selecciona "Edit". Si no existe, créalo con el botón "Create File" y asígnale el nombre exacto php.ini.

Agrega o modifica la siguiente línea:

memory_limit = 256M

Puedes cambiar 256M por el valor que necesites (128M, 256M, 512M). Guarda los cambios.

[INFO] Si ya existe una línea memory_limit, simplemente cámbiala. Si hay varias, la última prevalece.

Paso 5: Verifica el cambio

Para confirmar que el nuevo límite se aplicó, puedes crear un archivo info.php en la misma carpeta con el siguiente contenido:

<?php phpinfo(); ?>

Luego accede a tudominio.com/info.php y busca la línea "memory_limit". Debería mostrar el nuevo valor. Borra este archivo después de verificar por seguridad.


Método 2: Usar un archivo .user.ini (alternativa si no tienes acceso a php.ini)

Algunos servidores con DirectAdmin no permiten modificar el php.ini directamente. En ese caso, puedes usar un archivo .user.ini en la raíz de tu PrestaShop.

Paso 1: Crea el archivo .user.ini

En el File Manager, ve a public_html y crea un archivo llamado .user.ini (incluye el punto al inicio). Edítalo y agrega:

memory_limit = 256M

Paso 2: Guarda y verifica

Guarda el archivo. Este método tiene efecto a nivel de directorio y subdirectorios. Verifica igual que en el paso anterior.

[WARNING] El archivo .user.ini se lee cada vez que se ejecuta PHP, así que no necesita reiniciar el servidor. Sin embargo, algunos hosts pueden desactivar esta función. Si no funciona, prueba con el método 1.


Método 3: Modificar el archivo php.ini desde la línea de comandos (SSH)

Si tienes acceso SSH a tu servidor, puedes editar el php.ini directamente. Este método es más avanzado pero muy eficaz.

Paso 1: Conéctate por SSH

Usa un cliente como PuTTY o la terminal de tu sistema operativo. Conéctate con tu usuario y contraseña de hosting.

Paso 2: Localiza el php.ini de tu versión de PHP

Ejecuta:

php -i | grep "Loaded Configuration File"

Te mostrará la ruta del archivo php.ini cargado (por ejemplo, /etc/php/8.1/cli/php.ini). Sin embargo, para el servidor web, usa:

php -i | grep "Scan this dir for additional .ini files"

Allí verás un directorio como /etc/php/8.1/apache2/conf.d/ o similar. El archivo principal suele estar en /etc/php/8.1/apache2/php.ini.

Paso 3: Edita el archivo

Usa un editor como nano o vim:

sudo nano /etc/php/8.1/apache2/php.ini

Busca memory_limit y cámbialo. Guarda (Ctrl+O, luego Ctrl+X en nano).

Paso 4: Reinicia el servidor web

Para que los cambios surtan efecto, reinicia Apache o Nginx:

sudo systemctl restart apache2

O si usas Nginx con PHP-FPM:

sudo systemctl restart php8.1-fpm

Solución de problemas comunes (FAQ)

¿Por qué no veo cambios después de editar php.ini?

Asegúrate de haber editado el archivo correcto. En DirectAdmin, a veces hay un php.ini por cada versión de PHP. Ve a "PHP Version Selector" y verifica que la versión que editaste coincida con la que usa tu tienda.

¿Puedo poner un valor demasiado alto?

Sí, pero cuidado. Si pones 1024M (1GB) y tu servidor no tiene suficiente RAM, podrías ralentizar todo el sistema. Lo razonable es entre 128M y 512M para la mayoría de tiendas.

¿Qué hago si el error persiste?

Puede que el problema no sea solo el memory limit. Revisa también el max_execution_time y upload_max_filesize en el mismo php.ini. A veces los módulos pesados requieren más tiempo.

¿Afecta esto al rendimiento de otros sitios en el mismo hosting?

Solo si modificas el php.ini global. Si usas el método local (php.ini en tu cuenta o .user.ini), solo afecta a tu PrestaShop.

¿Necesito reiniciar algo después de editar php.ini?

No, si usas el método local o .user.ini. Los cambios se aplican de inmediato. Solo con el método SSH necesitas reiniciar el servidor web.


Consejos adicionales para optimizar la memoria en PrestaShop

Además de aumentar el memory limit, puedes hacer otras mejoras:

  • Desactiva módulos que no uses: Cada módulo consume memoria.
  • Usa una CDN para imágenes: Reduce la carga en tu servidor.
  • Optimiza la base de datos: Elimina registros de sesiones antiguas y productos no utilizados.
  • Actualiza PrestaShop y sus módulos: Las versiones nuevas suelen ser más eficientes.

[TIP] Si tu tienda es muy grande, considera contratar un hosting con más recursos o un plan VPS.


Conclusión

Aumentar el límite de memoria PHP en PrestaShop usando DirectAdmin es un proceso sencillo que puede resolver muchos errores comunes. Ya sea editando el php.ini local, usando un archivo .user.ini o mediante SSH, siguiendo estos pasos podrás darle a tu tienda el oxígeno que necesita para funcionar sin problemas. Recuerda siempre verificar el cambio y no excederte en el valor para no comprometer el rendimiento del servidor.

Si tienes dudas, tu proveedor de hosting suele tener soporte técnico que puede ayudarte a realizar estos ajustes. ¡Tu tienda te lo agradecerá con páginas más rápidas y menos errores!

¿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