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

Cómo solucionar el error 500 Internal Server Error en PrestaShop (DirectAdmin)

Actualizado el 14 de febrero de 2026

¡Hola! Si estás leyendo esto, probablemente te has encontrado con la temida pantalla en blanco o el mensaje “Error 500 Internal Server Error” en tu tienda PrestaShop alojada en un servidor con DirectAdmin. No te preocupes, es uno de los errores más comunes y, por suerte, casi siempre tiene solución. En esta guía extensa y paso a paso, te explicaré qué significa, por qué ocurre y, lo más importante, cómo solucionar el error 500 en PrestaShop usando DirectAdmin. Todo explicado de forma clara, sin tecnicismos innecesarios.

¿Qué es el Error 500 Internal Server Error?

El error 500 es un código de estado HTTP genérico que indica que algo salió mal en el servidor, pero sin dar detalles específicos. Es como si el servidor te dijera: “Algo se rompió, pero no sé decirte exactamente qué”. En el contexto de PrestaShop y DirectAdmin, las causas más habituales suelen ser:

  • Archivos con permisos incorrectos.
  • Un archivo .htaccess corrupto o mal configurado.
  • Un módulo o tema de PrestaShop que genera un conflicto.
  • Límites de memoria PHP excedidos.
  • Un archivo php.ini con valores incorrectos.
  • Algún script o plugin que se cuelga.

Vamos a atacar cada una de estas causas una por una. No necesitas ser un experto en Linux, solo seguir los pasos con calma.

Paso 1: Lo Primero, Activar la Visualización de Errores PHP

Por defecto, PrestaShop y el servidor ocultan los detalles del error 500 para proteger información sensible. Pero nosotros necesitamos ver el error real para saber por dónde tirar. Vamos a forzar que PHP nos muestre el error.

Método A: Mediante el archivo config/defines.inc.php (Recomendado)

  1. Accede a tu panel de DirectAdmin.
  2. Ve a Administrador de Archivos (File Manager) y navega hasta la carpeta raíz de tu PrestaShop (normalmente public_html o dominio.com).
  3. Busca la carpeta config y dentro de ella el archivo defines.inc.php.
  4. Haz clic derecho sobre él y selecciona Editar.
  5. Busca la línea que dice:
    define('_PS_MODE_DEV_', false);
    
    Cámbiala por:
    define('_PS_MODE_DEV_', true);
    
  6. Guarda los cambios. Ahora, al recargar tu tienda, en lugar del error 500 genérico, verás un mensaje de error PHP más descriptivo (por ejemplo: “Fatal error: Allowed memory size exhausted...” o “Parse error: syntax error...”).

[INFO] Si no encuentras el archivo defines.inc.php, asegúrate de que tu instalación de PrestaShop esté completa. Si lo editaste y no ves cambios, puede que tu servidor tenga la visualización de errores desactivada desde el php.ini. No te preocupes, lo veremos más adelante.

Método B: Mediante un archivo info.php (Alternativa)

Si el método anterior no funciona, crea un archivo temporal en la raíz de tu tienda:

  1. Desde el Administrador de Archivos de DirectAdmin, crea un nuevo archivo llamado info.php.
  2. Pega este contenido:
    <?php
    phpinfo();
    ?>
    
  3. Guárdalo y accede a tudominio.com/info.php. Busca la sección “Loaded Configuration File” para saber qué php.ini está usando tu sitio. Eso te servirá para el paso 5.

Paso 2: Verificar y Restaurar el Archivo .htaccess

El archivo .htaccess de PrestaShop es muy sensible y a veces se corrompe al instalar módulos o al hacer cambios en la configuración de la tienda.

  1. En el Administrador de Archivos de DirectAdmin, ve a la raíz de tu PrestaShop.
  2. Busca el archivo .htaccess. Si no lo ves, activa la opción Mostrar archivos ocultos (suele ser un checkbox en la parte superior).
  3. Haz una copia de seguridad: descárgalo o renómbralo a .htaccess_backup.
  4. Ahora, elimina el archivo original (o renómbralo, no lo borres aún).
  5. Ve al panel de administración de tu PrestaShop (si puedes acceder): Configuración de la tienda > Tráfico y SEO > URL amigables. Desactívalas, guarda, y luego actívalas de nuevo. Esto regenerará el .htaccess automáticamente.
  6. Si no puedes acceder al panel, puedes generar un .htaccess básico temporal. Crea un nuevo archivo llamado .htaccess y pega esto:
    # START PrestaShop
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    </IfModule>
    # END PrestaShop
    
    Guarda y prueba tu tienda. Si funciona, el problema era el .htaccess. Luego puedes regenerarlo desde el panel de administración.

[TIP] Si después de regenerar el .htaccess el error vuelve, es que algún módulo está haciendo cambios conflictivos. Temporalmente, puedes mantener el .htaccess básico que te puse arriba para que la tienda funcione mientras investigas.

Paso 3: Aumentar la Memoria PHP (memory_limit)

Uno de los culpables más frecuentes del error 500 en PrestaShop es quedarse sin memoria PHP. Especialmente si tienes muchos módulos o catálogos grandes.

Cómo hacerlo desde DirectAdmin

  1. En DirectAdmin, busca la sección Características de PHP o PHP Selector (a veces está dentro de Configuración de la cuenta).
  2. Selecciona la versión de PHP que usa tu sitio (normalmente 7.4, 8.0, 8.1, etc.).
  3. Busca la opción memory_limit y cámbiala a un valor más alto. Por ejemplo:
    • 256M (recomendado para tiendas medianas)
    • 512M (para tiendas grandes con muchos módulos)
  4. Guarda los cambios.

Si no tienes acceso a PHP Selector

Puedes intentar modificar el archivo php.ini de tu cuenta:

  1. En el Administrador de Archivos, busca un archivo llamado php.ini en la raíz de tu dominio. Si no existe, créalo.
  2. Añade o modifica esta línea:
    memory_limit = 256M
    
  3. Guarda y prueba.

[WARNING] Si tu hosting tiene restricciones, el valor máximo que puedes poner puede ser limitado (por ejemplo, 256M o 512M). No pongas valores excesivos como 2G, porque el servidor puede rechazarlo.

Paso 4: Verificar Permisos de Archivos y Carpetas

Los permisos incorrectos son otra causa clásica. PrestaShop necesita permisos específicos para funcionar.

Desde el Administrador de Archivos de DirectAdmin

  1. Selecciona TODOS los archivos y carpetas de la raíz de tu PrestaShop (puedes usar Ctrl+E o seleccionar todo).
  2. Haz clic en Cambiar permisos.
  3. Aplica los siguientes valores estándar:
    • Carpetas (directorios): 755
    • Archivos: 644
  4. Importante: La carpeta config, la carpeta cache, la carpeta log, la carpeta img, la carpeta modules, la carpeta themes y el archivo settings.inc.php (dentro de config) deben tener permisos especiales:
    • Carpetas config, cache, log, img, modules, themes, translations: 755
    • Archivo settings.inc.php: 644 (o incluso 444 para mayor seguridad, pero primero asegúrate de que funciona con 644).

Puedes hacerlo manualmente o, si tu versión de DirectAdmin lo permite, usar la opción Restablecer permisos que a veces viene incluida.

[INFO] No te asustes si ves que algunos archivos tienen permisos 777. A veces es necesario temporalmente, pero no es seguro. Lo ideal es que todo sea 644/755 excepto lo que te indique PrestaShop.

Paso 5: Deshabilitar Módulos y Temas Problemáticos

A veces un módulo recién instalado o un tema mal configurado provoca el error 500. Lo bueno es que podemos deshabilitarlos sin entrar al panel de administración.

Método: Renombrar la carpeta del módulo/tema

  1. En el Administrador de Archivos, ve a la carpeta modules de tu PrestaShop.
  2. Busca el módulo que sospechas que está causando el problema (por ejemplo, si instalaste un módulo de pago justo antes del error). Renómbralo añadiendo un sufijo como _old (ej: pago_seguro -> pago_seguro_old).
  3. Si no sabes cuál es, puedes renombrar TODA la carpeta modules a modules_old. Luego crea una nueva carpeta modules vacía. Esto deshabilitará todos los módulos. Si la tienda funciona, sabrás que el problema es un módulo. Luego ve moviendo los módulos de vuelta uno por uno hasta encontrar el culpable.
  4. Para el tema: renombra la carpeta themes a themes_old. Luego crea una nueva carpeta themes y dentro mete solo el tema por defecto (por ejemplo, classic). Si funciona, el problema era el tema.

[WARNING] Renombrar toda la carpeta modules o themes hará que tu tienda se vea muy básica o incluso que pierdas funcionalidades. Es solo una prueba temporal. Una vez identificado el módulo o tema malo, elimínalo o actualízalo.

Paso 6: Revisar el Archivo settings.inc.php

Este archivo contiene la configuración de la base de datos. Si está dañado o tiene errores, todo falla.

  1. Ve a la carpeta config y busca settings.inc.php.
  2. Ábrelo con el editor de texto.
  3. Verifica que las líneas de conexión a la base de datos sean correctas:
    define('_DB_SERVER_', 'localhost'); // O la IP de tu servidor MySQL
    define('_DB_NAME_', 'tu_basededatos');
    define('_DB_USER_', 'tu_usuario');
    define('_DB_PASSWD_', 'tu_contraseña');
    define('_DB_PREFIX_', 'ps_'); // Prefijo de tus tablas
    
  4. Si ves algo raro (por ejemplo, la contraseña aparece como '****' o está en blanco), es que el archivo está corrupto. Puedes restaurarlo desde una copia de seguridad o, si tienes acceso a la base de datos, puedes generar uno nuevo desde el instalador de PrestaShop.

Paso 7: Revisar los Logs del Servidor (DirectAdmin)

Si nada de lo anterior funciona, los logs son tu mejor amigo. DirectAdmin guarda registros de errores.

  1. En DirectAdmin, ve a Administrador de Archivos y busca la carpeta logs dentro de tu dominio (a veces está en /home/usuario/logs/ o en la raíz del dominio como error_log).
  2. Busca archivos como error.log, php_error.log o error_log. Ábrelos.
  3. Busca la línea que coincida con la hora en que viste el error 500. Normalmente verás algo como:
    [24-Oct-2023 14:32:10 UTC] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /home/usuario/public_html/modules/mimodulo/mimodulo.php on line 150
    
    Eso te dirá EXACTAMENTE qué archivo y qué línea está fallando. Si no ves nada, prueba a buscar en el log de errores de Apache, que suele estar en /var/log/httpd/ o /usr/local/apache/logs/, pero necesitarás acceso SSH para eso.

[TIP] Si no encuentras los logs, pide a tu proveedor de hosting que te muestre los errores del servidor. Ellos pueden verlos fácilmente.

Paso 8: Aumentar el Límite de Tiempo de Ejecución (max_execution_time)

A veces el error 500 aparece al hacer una importación masiva o al ejecutar un cron job. Aumentar el tiempo de ejecución puede ayudar.

En el archivo php.ini (o desde el PHP Selector de DirectAdmin), busca y modifica:

max_execution_time = 120

O incluso 300 para procesos muy largos.

FAQ: Preguntas Frecuentes sobre el Error 500 en PrestaShop

¿Por qué veo el error 500 solo en algunas páginas?

Esto suele indicar que el problema está en un módulo o tema específico que se carga en esas páginas. Prueba a deshabilitar módulos uno por uno.

¿El error 500 puede deberse a un plugin de caché?

Sí, especialmente si la caché de PrestaShop está mal configurada. Limpia la caché desde el panel de administración (si puedes acceder) o borrando manualmente la carpeta cache/smarty/ y cache/cachefs/.

¿Necesito reiniciar el servidor después de cambiar el php.ini?

No, los cambios en php.ini se aplican casi siempre en caliente. Sin embargo, si modificas el php.ini global del servidor, puede que necesites reiniciar Apache. En DirectAdmin, puedes hacerlo desde Servicios > Reiniciar Apache.

¿Qué hago si no tengo acceso al panel de administración de PrestaShop?

Sigue los pasos de esta guía usando el Administrador de Archivos de DirectAdmin. Esa es la ventaja: puedes solucionar casi todo sin entrar al panel.

¿El error 500 puede ser por un problema de base de datos?

Sí, pero es menos común. Si la base de datos está corrupta, verás un error diferente (como “Error de conexión a la base de datos”). Aun así, puedes intentar reparar las tablas desde phpMyAdmin (accesible desde DirectAdmin).

Conclusión: No te desesperes, el error 500 tiene solución

El error 500 Internal Server Error en PrestaShop es como un dolor de cabeza: molesto, pero casi siempre pasajero y solucionable. Siguiendo estos pasos en orden (activar errores, revisar .htaccess, aumentar memoria, permisos, deshabilitar módulos y revisar logs), resolverás el problema en el 95% de los casos.

Recuerda que DirectAdmin te da todas las herramientas necesarias desde su panel: administrador de archivos, editor de texto, PHP Selector y acceso a logs. No necesitas ser un experto en Linux, solo paciencia y método.

Si después de todo esto el error persiste, puede que sea un problema más profundo del servidor. En ese caso, contacta con tu proveedor de hosting y muéstrales los logs que encontraste. Ellos podrán ayudarte.

¡Mucho éxito con tu tienda PrestaShop! Y recuerda, siempre haz copias de seguridad antes de hacer cambios importantes.

¿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