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

Guía para resolver error 500 en PrestaShop con DirectAdmin

Actualizado el 4 de junio de 2026

¿Tu tienda PrestaShop muestra la temida pantalla blanca o el mensaje “Error 500 – Internal Server Error”?

No entres en pánico. Este error es uno de los más comunes en entornos de hosting, especialmente cuando trabajas con PrestaShop y DirectAdmin. La buena noticia es que, en la mayoría de los casos, se puede solucionar siguiendo una serie de pasos lógicos y sencillos.

En esta guía completa y paso a paso, vamos a explicarte qué significa exactamente el error 500 en PrestaShop, por qué ocurre (sobre todo en servidores con DirectAdmin) y, lo más importante, cómo solucionarlo tú mismo, sin necesidad de ser un experto técnico.

Vamos a desglosar cada posible causa y su solución, desde las más simples (como borrar cachés) hasta las más avanzadas (como revisar logs del servidor). Al final, tendrás un checklist claro para diagnosticar y resolver el problema.


¿Qué es el Error 500 en PrestaShop?

El error 500, también conocido como "Internal Server Error", es un código de estado HTTP genérico que indica que algo salió mal en el servidor, pero sin dar detalles específicos. En el contexto de PrestaShop, esto puede deberse a:

  • Un archivo .htaccess corrupto o mal configurado.
  • Un módulo o tema que genera un conflicto de PHP.
  • Límites de memoria de PHP excedidos.
  • Permisos de archivos incorrectos.
  • Un script que se cuelga o tarda demasiado.
  • Problemas con la versión de PHP o con extensiones faltantes.

Dado que el error es "interno", no verás un mensaje descriptivo en la pantalla. Por eso, solucionar error 500 DirectAdmin implica revisar varias áreas del servidor.


Paso 1: Lo Primero, No Te Asustes. Haz una Copia de Seguridad

Antes de tocar nada, especialmente si vas a modificar archivos de configuración, haz una copia de seguridad de tu tienda y de la base de datos. DirectAdmin facilita esto desde el panel.

[WARNING] Si modificas archivos sin respaldo, podrías dejar tu tienda inaccesible. Siempre guarda un backup antes de continuar.


Paso 2: Forzar la Visualización de Errores PHP (El Truco Más Rápido)

El error 500 es "mudo" porque PHP está configurado para no mostrar errores en producción. Para ver el mensaje real, debes forzar la visualización temporalmente.

  1. Accede a tu panel de DirectAdmin.
  2. Ve al Administrador de Archivos (File Manager) y navega hasta la carpeta raíz de tu PrestaShop (normalmente public_html o domains/tudominio.com/public_html).
  3. Busca el archivo config/defines.inc.php.
  4. Ábrelo con el editor de texto de DirectAdmin.
  5. Busca la línea que dice: define('_PS_MODE_DEV_', false);
  6. Cámbiala a: define('_PS_MODE_DEV_', true);
  7. Guarda el archivo.

Ahora, recarga tu tienda. En lugar del error 500, verás un mensaje de error PHP más detallado (por ejemplo, "Fatal error: Allowed memory size exhausted" o "Call to undefined function"). Ese mensaje es oro puro para diagnosticar.

[TIP] Una vez solucionado el problema, vuelve a poner false en esa línea. Si lo dejas en true, tu tienda quedará expuesta y mostrará errores a los visitantes.


Paso 3: Revisar y Regenerar el Archivo .htaccess

El archivo .htaccess es uno de los principales culpables del error 500 en PrestaShop. Si está dañado o tiene reglas incorrectas, el servidor se bloquea.

3.1. Renombrar el .htaccess actual (para probar)

  1. En el Administrador de Archivos, localiza el archivo .htaccess en la raíz de tu PrestaShop.
  2. Cámbiale el nombre a algo como .htaccess_old o .htaccess_backup.
  3. Recarga tu tienda. Si ahora funciona (aunque sin URLs amigables), el problema está en el .htaccess.

3.2. Regenerar el .htaccess desde el Back Office

  1. Accede a tu Back Office de PrestaShop (si puedes, porque a veces el error impide entrar).
  2. Ve a Configuración de la tienda → Parámetros de la tienda → Tráfico y SEO.
  3. En la sección URLs amigables, haz clic en Guardar sin cambiar nada. Esto regenera el archivo .htaccess automáticamente.
  4. Si no puedes acceder al Back Office, puedes generar un .htaccess básico manualmente (ver siguiente punto).

3.3. Crear un .htaccess mínimo de emergencia

Si no puedes acceder al Back Office, crea un archivo nuevo llamado .htaccess con este contenido mínimo:

# START PrestaShop
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
# END PrestaShop

Esto restablece las URLs amigables básicas. Luego, desde el Back Office, podrás regenerarlo correctamente.


Paso 4: Verificar Permisos de Archivos y Carpetas

Los permisos incorrectos pueden provocar que PrestaShop no pueda leer o escribir archivos, causando un error 500.

Permisos recomendados en DirectAdmin:

  • Carpetas (directorios): 755 (rwxr-xr-x)
  • Archivos (PHP, imágenes, etc.): 644 (rw-r--r--)

Cómo cambiarlos desde DirectAdmin:

  1. En el Administrador de Archivos, selecciona toda la carpeta de tu tienda.
  2. Haz clic en Cambiar permisos.
  3. Marca las opciones para que queden como se indican arriba.
  4. Aplica los cambios.

[INFO] No pongas permisos 777 a menos que sea estrictamente necesario y temporal. Es un grave riesgo de seguridad.


Paso 5: Aumentar los Límites de Memoria PHP

Otro clásico: PrestaShop se queda sin memoria. Esto es muy común al instalar módulos pesados o al tener muchas categorías/productos.

Desde DirectAdmin (versión con PHP Selector):

  1. Ve a Características avanzadas → Selector de PHP o Configuración de PHP.
  2. Busca la opción memory_limit.
  3. Auméntalo a 256M o incluso 512M si tu hosting lo permite.
  4. También revisa max_execution_time (puedes subirlo a 120 o 180 segundos) y upload_max_filesize (si estás subiendo imágenes grandes).
  5. Guarda los cambios y recarga la tienda.

Si no tienes PHP Selector (vía .htaccess):

Puedes añadir esta línea al archivo .htaccess que ya tienes:

php_value memory_limit 256M
php_value max_execution_time 180

Paso 6: Revisar los Logs del Servidor (La Herramienta Definitiva)

Cuando nada de lo anterior funciona, hay que ir a los registros del servidor. Allí está la respuesta exacta al error 500 en PrestaShop.

Logs de errores de PHP en DirectAdmin:

  1. En DirectAdmin, busca Estadísticas del sitio → Registro de errores o Logs → Error log.
  2. Busca la línea que coincida con la hora en que viste el error. Verás algo como:
    [23-Mar-2025 14:32:10 UTC] PHP Fatal error: Uncaught Error: Call to undefined function curl_init() in /home/usuario/domains/.../modules/mimodulo/mimodulo.php
    Ese mensaje te dice exactamente qué función falta o qué archivo falla.

Logs de Apache (más detallados):

Puedes acceder a través de Administrador de Archivos a la carpeta ~/domains/tudominio.com/logs/ y buscar el archivo error.log o error_log. Allí verás errores de Apache y de PHP.

[TIP] Si ves errores de "mod_security" o "mod_evasive", puede que tu hosting tenga reglas de seguridad demasiado estrictas. Contacta con tu proveedor.


Paso 7: Desactivar Módulos o Temas Problemáticos (Modo Seguro)

Si el error apareció después de instalar o actualizar un módulo, ese es el culpable.

Cómo desactivar módulos sin acceso al Back Office:

  1. Conéctate a tu base de datos desde DirectAdmin → phpMyAdmin.
  2. Busca la tabla ps_module (o el prefijo que tengas, ej. prestashop_module).
  3. Busca el nombre del módulo sospechoso y cambia su estado de 1 a 0 en la columna active.
  4. También puedes borrar la carpeta del módulo desde el Administrador de Archivos: modules/nombredelmodulo/.

Cambiar de tema temporalmente:

  1. En la tabla ps_configuration, busca la variable PS_CSS_THEME_CACHE o PS_THEME_NAME.
  2. Cambia el valor por classic (el tema por defecto) para descartar un problema con tu tema personalizado.

Paso 8: Verificar la Versión de PHP y Extensiones

PrestaShop 1.7 y 8.x requieren PHP 7.4, 8.0 o 8.1 (según la versión). Si tu servidor usa PHP 5.6 o 7.0, tendrás errores.

Cómo cambiar la versión de PHP en DirectAdmin:

  1. Ve a Características avanzadas → Selector de PHP.
  2. Elige una versión compatible con tu PrestaShop (por ejemplo, 8.0 para PS 1.7.8 o PS 8.x).
  3. Asegúrate de que las siguientes extensiones estén habilitadas:
    • curl
    • gd
    • json
    • mbstring
    • openssl
    • pdo_mysql
    • xml
    • zip
    • intl (para PS 1.7+)
  4. Guarda y prueba.

Paso 9: Soluciones Rápidas Adicionales (Checklist Final)

Si después de todo lo anterior sigues con el error, prueba estos últimos recursos:

  • Borrar la caché de Smarty: Desde el Administrador de Archivos, elimina todo el contenido de la carpeta var/cache (o cache/smarty en versiones antiguas). No borres la carpeta, solo su interior.
  • Revisar el archivo settings.inc.php: Asegúrate de que los datos de conexión a la base de datos en config/settings.inc.php son correctos.
  • Contactar con tu hosting: Si el error es recurrente y no logras solucionarlo, puede ser un problema de configuración del servidor (por ejemplo, límites de recursos muy bajos, o un plugin de seguridad como ModSecurity bloqueando algo). Tu proveedor de hosting puede ver los logs del servidor a nivel de sistema.

FAQ: Preguntas Frecuentes sobre el Error 500 en PrestaShop

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

Esto suele indicar un conflicto con un módulo o una plantilla específica. Prueba desactivando módulos uno por uno o cambiando temporalmente al tema por defecto.

¿El error 500 puede deberse a una actualización de PrestaShop?

Sí, es muy común. Las actualizaciones pueden dejar archivos obsoletos o modificar el .htaccess. Sigue los pasos 3 y 9 (borrar caché de Smarty) como primera medida.

Mi hosting usa Syspanel (antes HestiaCP), ¿cómo accedo a los logs?

Si tu panel es Syspanel (HestiaCP), el acceso es por el puerto 2106 (ejemplo: https://tudominio.com:2106). Allí, ve a Web → Logs y selecciona el dominio. Los logs de error de Apache están en esa sección. El proceso de solución es idéntico al de DirectAdmin en cuanto a permisos y archivos.

¿Puedo resolver el error 500 sin acceso al Back Office?

Sí, totalmente. Con el Administrador de Archivos y phpMyAdmin de DirectAdmin (o Syspanel) puedes hacer todo lo necesario: regenerar .htaccess, desactivar módulos, cambiar permisos y borrar cachés.

He seguido todos los pasos y sigue sin funcionar, ¿qué hago?

Comprueba si tu hosting tiene activado CloudFlare o algún CDN. A veces, el error 500 lo muestra el CDN y no el servidor real. Desactívalo temporalmente. Si persiste, contacta al soporte técnico de tu hosting y muéstrales los logs de error que hayas encontrado.


Conclusión

El error 500 en PrestaShop puede parecer aterrador, pero con esta guía paso a paso y las herramientas que te ofrece DirectAdmin, puedes diagnosticarlo y solucionarlo tú mismo en la mayoría de los casos. Recuerda siempre empezar por lo más simple (forzar errores PHP, revisar .htaccess, permisos y memoria) y luego ir a los logs para obtener la respuesta definitiva.

Si tu panel es Syspanel (HestiaCP), recuerda que el puerto de acceso es el 2106 y el proceso es exactamente el mismo.

No olvides hacer siempre un backup antes de modificar archivos críticos. ¡Buena suerte y que tu tienda vuelva a funcionar rápidamente!

¿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