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

Cómo solucionar el error '500 Internal Server Error' en PrestaShop con DirectAdmin

Actualizado el 7 de enero de 2026

¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, probablemente te has encontrado con la temida pantalla en blanco o el mensaje "500 Internal Server Error" en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes y, por suerte, casi siempre tiene solución. En esta guía completa, te explicaré paso a paso cómo solucionar el error 500 en PrestaShop cuando tu hosting usa DirectAdmin. Vamos a ir desde lo más básico hasta opciones más avanzadas, todo explicado de forma clara y sin tecnicismos complicados.


¿Qué es el error 500 y por qué aparece en PrestaShop?

El error 500 es un código de estado HTTP que significa "Error Interno del Servidor". En palabras sencillas: el servidor donde está alojada tu web no puede procesar la solicitud, pero no te da detalles específicos. En PrestaShop, esto suele deberse a:

  • Archivos .htaccess corruptos o con mala sintaxis.
  • Problemas de permisos de archivos o carpetas.
  • Módulos o temas incompatibles.
  • Límites de memoria PHP excedidos.
  • Errores en la configuración de PHP (versión, extensiones, etc.).
  • Problemas con la base de datos (aunque menos frecuente).

Lo bueno es que, con DirectAdmin, tienes herramientas a tu alcance para diagnosticar y resolverlo. Vamos al lío.


Paso 1: Activar el modo debug de PrestaShop (para ver el error real)

Antes de tocar nada, necesitamos que PrestaShop nos muestre el error real y no solo el mensaje genérico. Para ello, activaremos el modo debug. Hay dos formas de hacerlo:

Opción A: A través del archivo config/defines.inc.php (recomendada)

  1. Accede a tu panel de DirectAdmin.
  2. Ve a Administración de Archivos (File Manager) y navega hasta la carpeta raíz de tu PrestaShop (normalmente public_html o dominio.com).
  3. Busca el archivo config/defines.inc.php. Si no lo ves, asegúrate de tener activada la opción "Mostrar archivos ocultos".
  4. Haz clic derecho sobre él y selecciona Editar.
  5. Busca la línea que dice:
    define('_PS_MODE_DEV_', false);
  6. Cámbiala por:
    define('_PS_MODE_DEV_', true);
  7. Guarda los cambios.

[INFO] Si no encuentras el archivo, puede que tu PrestaShop esté en una subcarpeta. Por ejemplo, si tu dominio es tutienda.com y PrestaShop está en tutienda.com/tienda/, busca dentro de public_html/tienda/config/.

Opción B: A través de FTP (si no tienes acceso a File Manager)

Conéctate por FTP a tu servidor, localiza el mismo archivo y edítalo con un editor de texto plano (como Notepad++ o Sublime Text). Nunca uses Word o bloc de notas de Windows, ya que pueden añadir caracteres extraños.

Ahora, al recargar tu tienda, verás un mensaje de error más descriptivo (por ejemplo: "Fatal error: Allowed memory size of 134217728 bytes exhausted"). Anota ese mensaje, nos será útil más adelante.

[WARNING] No olvides desactivar el modo debug al terminar. Si lo dejas activado, cualquier visitante podrá ver errores y rutas de tu servidor, lo que es un riesgo de seguridad. Vuelve a poner false cuando hayas solucionado el problema.


Paso 2: Soluciones rápidas y comunes (sin tocar código)

Si el modo debug no te da una pista clara o el error sigue siendo genérico, prueba estas soluciones en orden:

2.1. Renombrar el archivo .htaccess

El archivo .htaccess es uno de los principales sospechosos. A veces se corrompe o tiene reglas incorrectas.

  1. En DirectAdmin, ve a Administración de Archivos y localiza el archivo .htaccess en la raíz de tu PrestaShop.
  2. Renómbralo a .htaccess_old (esto lo desactivará).
  3. Recarga tu tienda. Si el error desaparece, el problema estaba ahí.
  4. Para regenerarlo, ve al backoffice de PrestaShop (si puedes acceder) a Configuración > Parámetros generales > Tráfico y SEO y haz clic en Guardar (sin cambiar nada). Esto generará un nuevo .htaccess.

[TIP] Si no puedes acceder al backoffice, puedes regenerar el .htaccess manualmente copiando el contenido de un archivo de respaldo o de una instalación limpia de PrestaShop de la misma versión.

2.2. Verificar permisos de archivos y carpetas

Los permisos incorrectos son otra causa frecuente. En DirectAdmin:

  1. En Administración de Archivos, selecciona toda la carpeta de PrestaShop (normalmente public_html).
  2. Haz clic en Cambiar permisos.
  3. Establece 755 para las carpetas y 644 para los archivos. Si tu hosting lo permite, marca la opción "Recursivo" para que se aplique a todo.
  4. Aplica los cambios.

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

2.3. Aumentar el límite de memoria PHP

Si el error menciona "memory size", necesitas aumentar el límite. En DirectAdmin:

  1. Ve a Opciones de PHP (suele estar en la sección "Características avanzadas" o "Administración de cuentas").
  2. Busca la opción memory_limit y cámbiala a 256M o incluso 512M si tu plan lo permite.
  3. Guarda y recarga la tienda.

Si no encuentras esta opción, puedes hacerlo manualmente creando un archivo php.ini en la raíz de PrestaShop con el siguiente contenido:

memory_limit = 256M
max_execution_time = 120
max_input_time = 120

Paso 3: Diagnosticar con los logs del servidor (DirectAdmin)

Si lo anterior no funciona, toca mirar los registros del servidor. DirectAdmin guarda logs de errores que te darán pistas exactas.

  1. En DirectAdmin, busca la sección Logs de errores o Error Log. Suele estar en "Administración de cuentas" o "Estadísticas".
  2. Abre el archivo error_log o php_error_log (a veces está en public_html o en una carpeta logs).
  3. Busca las líneas más recientes relacionadas con tu dominio. Verás errores como:
    • PHP Fatal error: Uncaught Error: Class 'X' not found
    • PHP Parse error: syntax error, unexpected...
    • require_once(): Failed opening required...

Copia el mensaje exacto y búscalo en Google o en foros de PrestaShop. A menudo, la solución es actualizar un módulo o cambiar una línea de código.

[WARNING] Si el log está vacío, asegúrate de que el registro de errores esté activado en PHP. En DirectAdmin, ve a Opciones de PHP y activa display_errors = On y log_errors = On. No olvides desactivarlos después.


Paso 4: Soluciones avanzadas (cuando nada de lo anterior funciona)

4.1. Deshabilitar módulos y temas desde la base de datos

Si el error impide acceder al backoffice, puedes desactivar módulos problemáticos directamente desde la base de datos.

  1. En DirectAdmin, ve a phpMyAdmin (suele estar en "Base de datos" o "MySQL").
  2. Selecciona la base de datos de tu PrestaShop.
  3. Busca la tabla ps_module (el prefijo puede variar, por ejemplo prestashop_module).
  4. Ejecuta la siguiente consulta SQL para desactivar todos los módulos no nativos:
    UPDATE ps_module SET active = 0 WHERE id_module > 1;
    
  5. Si el error se soluciona, activa los módulos de uno en uno desde el backoffice para identificar el culpable.

[TIP] Si no sabes SQL, pide ayuda a tu hosting o a un desarrollador. Un error en la base de datos puede romper tu tienda.

4.2. Revisar la versión de PHP y extensiones

PrestaShop necesita una versión de PHP específica (normalmente 7.4 u 8.0, dependiendo de la versión de PrestaShop). En DirectAdmin:

  1. Ve a Opciones de PHP y selecciona una versión compatible. Por ejemplo, para PrestaShop 1.7, PHP 7.4 es la más estable.
  2. Asegúrate de que las siguientes extensiones estén activadas:
    • mysqli
    • gd
    • mbstring
    • curl
    • openssl
    • json
    • xml
    • zip

Si alguna falta, actívala desde el selector de extensiones.

4.3. Restaurar una copia de seguridad

Si todo falla, restaura una copia de seguridad reciente de tu tienda. En DirectAdmin:

  1. Ve a Copia de seguridad (Backup).
  2. Restaura un backup completo (archivos y base de datos) de una fecha anterior al error.
  3. Si no tienes backup, contacta con tu proveedor de hosting. Algunos ofrecen backups automáticos.

Preguntas frecuentes (FAQ)

¿Por qué aparece el error 500 solo en algunas páginas de mi PrestaShop?

Esto suele deberse a un módulo o tema específico que falla en esa página. Activa el modo debug para ver el error exacto o revisa los logs del servidor.

¿Puedo solucionar el error 500 sin perder datos?

Sí, en la mayoría de los casos. Las soluciones aquí descritas (cambiar permisos, .htaccess, aumentar memoria) no afectan a tus productos, clientes o pedidos. Solo ten cuidado al modificar la base de datos.

¿Qué hago si después de todo el error persiste?

Puede ser un problema del servidor (configuración de Apache/Nginx, firewall, etc.). Contacta con tu soporte de hosting y diles que ya has probado: cambiar .htaccess, permisos, modo debug y logs. Ellos podrán revisar la configuración del servidor.

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

Si tu panel es Syspanel (HestiaCP), el acceso es por el puerto 2106. Por ejemplo: https://tudominio.com:2106. Allí encontrarás opciones similares a DirectAdmin para gestionar archivos, bases de datos y PHP.

¿El error 500 puede deberse a un ataque?

Sí, a veces un archivo malicioso o un script de ataque puede causar un error 500. Si sospechas, revisa los archivos recientemente modificados en tu PrestaShop (por fecha) y escanea con un antivirus web como ClamAV (si tu hosting lo ofrece).


Conclusión

El error 500 en PrestaShop puede ser frustrante, pero siguiendo estos pasos ordenados podrás resolverlo en la mayoría de los casos. Recuerda:

  1. Activar el modo debug para obtener pistas.
  2. Probar soluciones rápidas: .htaccess, permisos, memoria PHP.
  3. Revisar los logs del servidor en DirectAdmin.
  4. Si nada funciona, desactivar módulos desde la base de datos o restaurar un backup.

Y sobre todo, no entres en pánico. Este error es común y tiene solución. Si te atascas, no dudes en pedir ayuda a tu hosting o a un profesional. ¡Tu tienda volverá a funcionar en poco tiempo!

[TIP FINAL] Para prevenir futuros errores 500, mantén PrestaShop, sus módulos y temas actualizados. Haz backups periódicos y revisa los logs de vez en cuando. Un mantenimiento preventivo te ahorrará muchos dolores de cabeza.

Espero que esta guía te haya sido de ayuda. Si tienes alguna duda, ¡déjala en los comentarios o contacta con tu soporte técnico!

¿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