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

Arreglar error 500 en PrestaShop con DirectAdmin

Actualizado el 29 de marzo de 2026

¡Hola! Si estás leyendo esto, seguramente te has encontrado con la temida pantalla blanca o el mensaje "Error 500: Internal Server Error" en tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes en el mundo del hosting y, en la mayoría de los casos, tiene solución.

En esta guía extensa y paso a paso, vamos a desglosar cómo arreglar el error 500 prestashop cuando tu servidor utiliza el panel de control DirectAdmin. Te explicaré todo de forma sencilla, sin tecnicismos innecesarios, para que puedas recuperar tu tienda online lo antes posible.

¿Qué es exactamente un Error 500?

Antes de ponernos manos a la obra, es importante entender qué significa este error. Un Error 500 es un mensaje genérico que envía el servidor cuando algo ha salido mal internamente, pero no puede dar más detalles específicos al navegador. Es como si el servidor dijera: "Algo se ha roto, pero no sé explicarte bien el qué".

Las causas más frecuentes son:

  • Archivos con permisos incorrectos (normalmente la carpeta cache o var).
  • Un archivo .htaccess corrupto o con reglas incompatibles.
  • Falta de memoria PHP (límite de memoria agotado).
  • Un módulo o tema de PrestaShop que está dando problemas.
  • Errores en la versión de PHP (incompatibilidad).
  • Un archivo .htaccess que ha quedado vacío o mal formateado.

Vamos a atacar cada una de estas causas de forma metódica. No te saltes pasos, ya que iremos de lo más simple a lo más complejo.

1. La Primera Línea de Defensa: Activar el Modo Debug de PrestaShop

El error 500 es muy poco informativo. Para saber qué está pasando realmente, necesitamos que PrestaShop nos muestre el error específico. Esto se hace activando el modo debug (depuración).

¿Cómo se hace?

Vamos a acceder a los archivos de tu tienda a través del Administrador de Archivos de DirectAdmin o mediante un cliente FTP como FileZilla.

  1. Entra en tu panel de DirectAdmin.
  2. Busca la sección "Administrador de Archivos" y haz clic.
  3. Navega a la carpeta raíz de tu tienda PrestaShop. Normalmente es public_html o domains/tudominio.com/public_html.
  4. Busca el archivo llamado config/defines.inc.php.
  5. Haz clic derecho sobre él y selecciona "Editar" o "Code Editor".

Dentro del archivo, busca la línea que dice:

define('_PS_MODE_DEV_', false);

Cámbiala a:

define('_PS_MODE_DEV_', true);

Guarda los cambios. Ahora, recarga tu tienda. En lugar del error 500 genérico, verás un mensaje de error detallado, con la ruta del archivo y la línea exacta del problema. Esta información es oro puro para solucionarlo.

[INFO] Si no ves ningún error detallado, asegúrate de que el archivo defines.inc.php se haya guardado correctamente. A veces el editor de DirectAdmin puede tener problemas. Si es así, descarga el archivo, edítalo con un editor de texto local como Notepad++ y vuelve a subirlo.

Los Errores Más Comunes que Verás

Una vez activado el debug, es posible que veas mensajes como:

  • "Fatal error: Allowed memory size of X bytes exhausted": Significa que falta memoria PHP.
  • "Parse error: syntax error, unexpected...": Indica un problema de sintaxis, a menudo por un archivo corrupto o una modificación incorrecta.
  • "Class 'X' not found": Sugiere que un módulo o clase no se está cargando correctamente.
  • "Warning: require_once(...) [function.require-once]: failed to open stream": Un problema con las rutas de los archivos.

Anota el mensaje exacto, ya que te guiará hacia la solución. Si el error menciona un archivo de un módulo o tema específico, ya sabes por dónde empezar a mirar.

2. Solucionar error 500 en PrestaShop: Los Permisos de Archivos y Carpetas

La causa más común del error 500 prestashop es un problema de permisos. PrestaShop necesita escribir en ciertas carpetas para funcionar (para crear cachés, subir imágenes, etc.). Si los permisos son demasiado restrictivos, el servidor no puede hacer su trabajo y lanza el error.

¿Cómo lo arreglamos?

  1. Vuelve al Administrador de Archivos de DirectAdmin.
  2. Selecciona todos los archivos y carpetas de la raíz de tu PrestaShop.
  3. Haz clic en el botón "Cambiar permisos" o "Permissions".
  4. En la ventana que aparece, introduce el valor 755 para todas las carpetas y 644 para todos los archivos. Puedes hacerlo en bloque.

¿Cómo se hace esto?

  • Marca la casilla de verificación en la parte superior para seleccionar todo.
  • Haz clic en el botón "Permisos".
  • Verás una lista de archivos y carpetas. En la columna de permisos, introduce 755 y 644. DirectAdmin te permite aplicar un valor en masa. Asegúrate de que la opción "Recursivo" o "Aplicar a subcarpetas" esté marcada.

[WARNING] No pongas permisos 777 (lectura, escritura y ejecución para todos). Es un grave riesgo de seguridad. Los permisos 755 y 644 son los estándar recomendados por PrestaShop.

Después de cambiar los permisos, hay que hacer una excepción. La carpeta var/cache (o cache en versiones antiguas) y la carpeta img a veces necesitan permisos más flexibles para escribir. Prueba a darle a la carpeta var/cache permisos 755 de forma recursiva. Si el problema persiste, intenta con 775 para esa carpeta específica.

3. El Archivo .htaccess: Un Sospechoso Habitual

El archivo .htaccess es un archivo de configuración que le dice al servidor Apache cómo manejar las solicitudes. Si este archivo está dañado o tiene reglas incompatibles, puede provocar un error 500.

La solución más rápida: regenerarlo.

  1. En el Administrador de Archivos, asegúrate de que la opción "Mostrar archivos ocultos" esté activada. Suelen ser archivos que empiezan con un punto (.).
  2. Busca el archivo llamado .htaccess en la raíz de tu PrestaShop.
  3. Haz clic derecho sobre él y selecciona "Renombrar". Cámbiale el nombre a algo como .htaccess_bak o .htaccess_old. Esto lo "desactiva" sin borrarlo.
  4. Ahora, intenta acceder a tu tienda. Si el error 500 desaparece, el problema era el .htaccess.

¿Cómo regenerar un .htaccess nuevo?

PrestaShop puede crear uno nuevo automáticamente.

  1. Entra en el Panel de Administración de tu tienda (si puedes acceder). Si no puedes, tendrás que hacerlo manualmente.
  2. Ve a Parámetros Avanzados > Rendimiento.
  3. Busca la sección "Generar archivo .htaccess" y haz clic en el botón para regenerarlo.
  4. Si no puedes acceder al panel, crea un archivo .htaccess vacío en la raíz y luego intenta acceder a tu tienda. PrestaShop suele regenerarlo solo si no existe o está vacío. Si no lo hace, puedes usar el archivo de respaldo que renombraste antes como guía, pero eliminando las líneas de reglas de reescritura (RewriteRule).

[TIP] Antes de renombrar el archivo, descarga una copia a tu ordenador. Así podrás compararlo o restaurarlo si es necesario.

4. Log errores PrestaShop: El Detective Definitivo

Si el modo debug no te da una respuesta clara, es hora de mirar los log errores prestashop. Estos son archivos de registro donde el servidor y PrestaShop guardan todos los errores que ocurren.

¿Dónde están estos registros?

Hay dos lugares principales:

  1. Registros de DirectAdmin: En tu panel de control, busca la sección "Logs" o "Registros de Errores". Ahí verás los errores del servidor (Apache, PHP, etc.). Busca la entrada correspondiente a la fecha y hora en que ocurrió el error. Esto te dará la pista más precisa.

  2. Registros de PrestaShop: Dentro de tu tienda, la carpeta var/logs (en versiones 1.7 y 8) contiene archivos de registro. Si el modo debug está activado, estos archivos se actualizan con errores detallados.

¿Cómo leerlos?

Los archivos de log pueden ser abrumadores. Busca líneas que contengan la palabra "ERROR" o "FATAL". La línea te indicará el archivo y la línea exacta donde se produjo el problema. Por ejemplo:

[2024-05-20 10:00:00] request.ERROR: Uncaught PHP Exception ...

Esta línea te está diciendo que hubo un error no capturado en una fecha y hora concretas. La información que le sigue es la clave para la solución.

[INFO] Si no tienes experiencia leyendo logs, no te preocupes. Copia las líneas de error y pégalas en un buscador. Es muy probable que otro usuario haya tenido el mismo problema y haya publicado la solución en un foro.

5. Aumentar el Límite de Memoria PHP

Un error común es el de "Allowed memory size exhausted". Esto significa que tu tienda necesita más memoria de la que PHP le permite usar. Es muy habitual si tienes muchos módulos o una tienda grande.

¿Cómo se aumenta?

  1. Busca el archivo php.ini en tu carpeta raíz. Si no existe, créalo.
  2. Edítalo y añade o modifica la siguiente línea:
memory_limit = 256M

O incluso 512M si tu hosting lo permite.

  1. Guarda el archivo.

Si no puedes crear un archivo php.ini, puedes añadir la configuración en el archivo .htaccess que vimos antes. Añade esta línea al principio:

php_value memory_limit 256M

[WARNING] No todos los hostings permiten modificar estos valores. Si no funciona, tendrás que contactar con tu proveedor de hosting para que lo hagan ellos.

6. La Versión de PHP: Un Factor Crítico

PrestaShop es muy sensible a la versión de PHP. Una versión demasiado antigua o demasiado nueva puede causar incompatibilidades y, por tanto, el error 500.

¿Cómo cambiar la versión de PHP en DirectAdmin?

  1. En tu panel de DirectAdmin, busca la sección "Administrador de PHP" o "Versión de PHP".
  2. Verás una lista de versiones disponibles (por ejemplo, 7.4, 8.0, 8.1, 8.2).
  3. Selecciona una versión compatible con tu versión de PrestaShop. Como regla general:
    • Para PrestaShop 1.7.x, se recomienda PHP 7.1 a 7.4.
    • Para PrestaShop 8.x, se recomienda PHP 8.0 o superior.
  4. Guarda los cambios.

Si el error 500 apareció después de una actualización de PHP, esta es casi seguro la solución. Vuelve a la versión anterior que usabas y el problema debería desaparecer.

[TIP] Si no estás seguro de qué versión usar, consulta la documentación oficial de PrestaShop para tu versión específica.

7. Módulos o Temas Conflictivos

Si has instalado un módulo o tema recientemente y luego ha aparecido el error, es muy probable que sea el culpable.

¿Cómo identificarlo y solucionarlo?

  1. Renombra la carpeta del módulo: Ve a la carpeta modules en tu instalación de PrestaShop. Busca la carpeta del módulo que instalaste hace poco y renómbrala (por ejemplo, de micodigo a micodigo_bak). Esto desactiva el módulo.
  2. Revisa el tema: Ve a la carpeta themes. Si has instalado un tema nuevo, renombra su carpeta. PrestaShop debería volver al tema predeterminado.
  3. Si el error desaparece: Has encontrado al culpable. Ahora puedes intentar reinstalar el módulo o tema, o contactar con su desarrollador para obtener una versión compatible.

8. La Última Opción: Restaurar una Copia de Seguridad

Si has probado todo lo anterior y el error persiste, la solución más drástica (y a veces la más rápida) es restaurar una copia de seguridad reciente de tu tienda. Esto te devolverá a un estado anterior donde todo funcionaba correctamente.

¿Cómo hacerlo?

  1. En DirectAdmin, busca la sección "Copias de Seguridad".
  2. Si tienes una copia de seguridad automática, selecciona la más reciente anterior al problema.
  3. Sigue las instrucciones para restaurarla.

[WARNING] Esta opción borrará cualquier cambio que hayas hecho desde que se hizo la copia. Asegúrate de que es tu última opción y de que entiendes las consecuencias.

Conclusión y Preguntas Frecuentes (FAQ)

Hemos recorrido un largo camino para solucionar error 500 en PrestaShop con DirectAdmin. Recuerda que la clave está en la paciencia y en seguir los pasos de forma lógica. Empieza por el modo debug, luego los permisos, el .htaccess y así sucesivamente.

Preguntas Frecuentes:

P: ¿Por qué veo un error 500 pero mis amigos no?
R: Puede ser un problema de caché en tu navegador o que el error sea intermitente. Prueba a limpiar la caché de tu navegador o a acceder desde una ventana de incógnito.

P: ¿Qué hago si no tengo acceso al panel de administración de PrestaShop?
R: No te preocupes, la mayoría de los pasos de esta guía se pueden hacer desde el Administrador de Archivos de DirectAdmin, sin necesidad de entrar al panel de PrestaShop.

P: ¿Es seguro activar el modo debug?
R: Es seguro para diagnosticar, pero no lo dejes activado en una tienda en producción. Muestra información sensible y puede ralentizar tu web. Desactívalo (ponlo en false) cuando hayas solucionado el problema.

P: Mi hosting usa Syspanel en lugar de DirectAdmin. ¿Cambia algo?
R: La lógica es la misma, pero los nombres de las secciones pueden variar. Syspanel es el nuevo nombre para el panel de control HestiaCP, y suele accederse a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Busca las secciones equivalentes como "Administrador de archivos", "Logs" o "PHP".

Espero que esta guía te haya sido de gran ayuda. Con un poco de método, podrás tener tu tienda online funcionando de nuevo en muy poco tiempo. ¡Mucha suerte!

¿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