Cómo arreglar el error 500 en PrestaShop (cPanel, DirectAdmin)
¿Por qué aparece el error 500 en PrestaShop?
El temido error 500 PrestaShop es uno de los problemas más comunes (y frustrantes) que puedes encontrar al gestionar tu tienda online. También se conoce como "Error Interno del Servidor". Básicamente, significa que algo ha salido mal en el servidor, pero no te dice exactamente qué es.
Cuando tu tienda PrestaShop no carga y ves ese mensaje genérico, no significa que hayas perdido tus datos ni que tu tienda esté rota para siempre. Es un aviso de que el servidor no puede procesar la solicitud correctamente. La buena noticia es que, en la mayoría de los casos, puedes solucionar error 500 siguiendo una serie de pasos lógicos y ordenados.
A continuación, te explico cómo diagnosticar y arreglar este error paso a paso, tanto si usas cPanel como DirectAdmin o Syspanel (antes conocido como HestiaCP, cuyo acceso se realiza a través del puerto 2106).
Primeros pasos: prepara el entorno
Antes de tocar nada, es importante que sepas qué herramientas tienes a mano. Para arreglar el error 500, necesitarás acceso a dos cosas:
- El panel de control de tu hosting (cPanel, DirectAdmin o Syspanel).
- Un gestor de archivos (puede ser el del propio panel o un cliente FTP como FileZilla).
Además, te recomiendo que hagas una copia de seguridad de tu base de datos y de los archivos de configuración antes de hacer ningún cambio. Esto te dará tranquilidad por si algo sale mal.
[WARNING] Nunca modifiques archivos importantes sin tener una copia de seguridad reciente. Un pequeño error de sintaxis puede empeorar la situación.
Paso 1: Activa el modo de depuración (Debug Mode)
El error 500 es un mensaje muy genérico. Para saber qué está fallando, necesitas que PrestaShop te muestre el error real. Esto se hace activando el modo de depuración.
¿Cómo activar el modo debug?
Accede a tu panel de control y busca el Administrador de archivos (File Manager). Navega hasta la raíz de tu tienda (normalmente public_html o www). Busca el archivo llamado config/defines.inc.php.
Dentro de este archivo, busca esta línea:
define('_PS_MODE_DEV_', false);
Cámbiala por:
define('_PS_MODE_DEV_', true);
Guarda el archivo y recarga tu tienda. Ahora, en lugar del error 500, verás un mensaje mucho más descriptivo, como por ejemplo "Fatal error: Allowed memory size of X bytes exhausted". Ese mensaje te dará la pista clave.
[TIP] Anota el mensaje de error que aparece. Te servirá para saber exactamente qué sección del problema debes atacar. Si no ves nada, revisa el archivo
var/logs/de tu PrestaShop (oapp/logs/en versiones antiguas) para ver los logs recientes.
¿Qué hacer si no encuentras el archivo defines.inc.php?
A veces, el error 500 impide incluso que PrestaShop cargue su estructura. En ese caso, puedes activar el modo debug directamente desde el archivo .htaccess o desde un archivo PHP temporal. Pero no te preocupes, el paso 2 suele ser la solución más común.
Paso 2: Aumenta el límite de memoria PHP
El error 500 más frecuente en PrestaShop está relacionado con la memoria PHP. Si tu tienda tiene muchos módulos, productos o imágenes, el servidor puede quedarse sin memoria asignada.
Solución con cPanel
- Ve a la sección "Select PHP Version" o "MultiPHP Manager" (depende de la versión de cPanel).
- Haz clic en "Switch to PHP Options" o "Opciones".
- Busca la opción
memory_limity cámbiala a512M(o al menos256M). - Guarda los cambios.
Solución con DirectAdmin
DirectAdmin suele tener una sección llamada "PHP Settings" o "Configuración PHP". Busca la pestaña de Custom Build (a veces está en "Extra Features"). Si tienes acceso a la configuración de PHP, cambia el memory_limit a 512M. Si no, tendrás que hacerlo manualmente (sigue el siguiente punto).
Solución manual para todos los paneles
Si no encuentras la opción gráfica, crea un archivo llamado php.ini en la raíz de tu tienda (public_html) y añade esta línea:
memory_limit = 512M
También puedes editar el archivo .htaccess y añadir esta línea al principio:
php_value memory_limit 512M
[WARNING] Si usas PHP-FPM o una versión de PHP con FastCGI, la línea de
.htaccesspuede no funcionar. En ese caso, usa elphp.inio la opción del panel.
Paso 3: Revisa los permisos de archivos y carpetas
Otra causa muy común del error 500 PrestaShop son los permisos incorrectos. Si los archivos tienen permisos demasiado restrictivos, el servidor no puede leerlos. Si son demasiado permisivos, puede dar error de seguridad.
¿Cómo solucionarlo?
Accede al Administrador de archivos de tu panel (cPanel, DirectAdmin o Syspanel). Selecciona todos los archivos y carpetas de tu tienda y cambia los permisos a:
- Carpetas (directorios):
755 - Archivos:
644
En cPanel, puedes hacerlo seleccionando todo y usando la opción "Change Permissions". En DirectAdmin y Syspanel también tienes una opción similar.
[INFO] Si no puedes cambiar los permisos de todos a la vez, hazlo al menos con las carpetas
config,cache,logyimg. A menudo, el problema está en el archivoconfig/settings.inc.phpque debe tener permisos644(no777).
Paso 4: Limpia la caché de PrestaShop
A veces, la caché de PrestaShop se corrompe y provoca el error 500. Limpiarla es un paso rápido y efectivo.
¿Cómo limpiar la caché manualmente?
- Con el Administrador de archivos, ve a la carpeta
var/cache(en PrestaShop 1.7 y superiores) ocache(en versiones 1.6). - Dentro, verás carpetas como
devoprod. Entra en la carpeta que corresponda a tu entorno (normalmenteprod) y borra todos los archivos que haya dentro (no borres la carpeta en sí). - También puedes borrar la carpeta
cache/class_index.phpsi existe.
Si no puedes borrar los archivos desde el panel, usa un cliente FTP como FileZilla.
[TIP] Si tienes acceso a la base de datos vía phpMyAdmin, también puedes limpiar la caché ejecutando esta consulta SQL:
TRUNCATE TABLE ps_cache;(Reemplaza
ps_con tu prefijo de base de datos si es diferente).
Paso 5: El archivo .htaccess está corrupto
El archivo .htaccess es un archivo de configuración muy importante para PrestaShop. Si está dañado o tiene una directiva incorrecta, puede causar el error 500.
¿Cómo comprobarlo y arreglarlo?
- Ve a la raíz de tu tienda y busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en tu gestor de archivos. - Renómbralo a
.htaccess.bak(esto lo desactiva temporalmente). - Recarga tu tienda. Si ahora funciona (aunque sea sin URLs amigables), el problema era ese archivo.
Para regenerarlo, ve al panel de administración de PrestaShop (si puedes acceder) a Parámetros avanzados > Rendimiento y haz clic en "Guardar" (esto regenera el .htaccess). Si no puedes acceder al panel, tendrás que esperar a que la tienda cargue (con el .htaccess desactivado) o crear uno básico.
Paso 6: Comprueba la compatibilidad de la versión de PHP
PrestaShop es muy sensible a la versión de PHP. Si tu hosting ha actualizado PHP a una versión muy reciente (como PHP 8.3) y tu PrestaShop es antiguo (1.6 o 1.7 temprana), es muy probable que aparezca el error 500.
Solución en cPanel y DirectAdmin
- En cPanel: Ve a "Select PHP Version".
- En DirectAdmin: Ve a "PHP Settings" o "Custom Build".
En ambos casos, cambia la versión de PHP a una más compatible. Para PrestaShop 1.7, te recomiendo PHP 7.4 o 8.0 como máximo. Para PrestaShop 1.6, usa PHP 5.6 o 7.1.
[WARNING] Cambiar la versión de PHP puede afectar a otros sitios web en tu cuenta de hosting. Asegúrate de cambiar solo la versión para el dominio de tu tienda, si es posible.
Solución en Syspanel (HestiaCP)
En Syspanel, ve a la sección de "Web" y selecciona tu dominio. Busca la opción de "PHP Version" y cámbiala a la recomendada. Recuerda que el acceso a Syspanel se realiza a través del puerto 2106.
Paso 7: Desactiva módulos o temas problemáticos
A veces, un módulo o un tema recién instalado es el culpable. Si el error empezó después de instalar algo, este es el paso clave.
¿Cómo desactivar módulos sin acceso al panel?
Si no puedes acceder al panel de administración, tendrás que hacerlo desde la base de datos.
- Accede a phpMyAdmin desde tu panel de control.
- Selecciona la base de datos de tu tienda.
- Busca la tabla
ps_module(el prefijo puede ser diferente). - Ejecuta esta consulta SQL para desactivar todos los módulos:
UPDATE ps_module SET active = 0; - Recarga tu tienda. Si carga, el problema es un módulo. Ahora ve activándolos uno a uno desde el panel de administración para encontrar al culpable.
Paso 8: Revisa los logs del servidor
Si nada de lo anterior funciona, los logs del servidor te darán la respuesta definitiva. Son archivos donde se registran todos los errores.
¿Dónde encontrar los logs?
- cPanel: Sección "Errores" o "Error Logs".
- DirectAdmin: Sección "Logs" > "Error Logs".
- Syspanel (HestiaCP): Sección "Logs" > "Error Logs" del dominio.
Busca la entrada con la hora exacta en que apareció el error 500. El mensaje suele ser críptico, pero te indicará el archivo y la línea exacta del problema.
Preguntas frecuentes (FAQ)
¿El error 500 significa que he perdido mis productos?
No, en absoluto. El error 500 es un fallo del servidor, no de tu base de datos. Tus productos, clientes y pedidos están a salvo en la base de datos. Solo necesitas arreglar la configuración o el archivo que está causando el problema.
¿Puedo solucionar el error 500 sin acceso al panel de control?
Es muy difícil, pero posible. Si tienes acceso FTP, puedes editar los archivos directamente. Si no tienes ni FTP ni panel, contacta con tu proveedor de hosting, ya que ellos podrán acceder a los logs y ayudarte.
¿Cuánto tiempo se tarda en arreglar?
Depende de la causa. Los pasos 2 y 3 (memoria y permisos) suelen resolver el 80% de los casos en menos de 10 minutos. Los pasos más complejos, como desactivar módulos, pueden llevar más tiempo.
¿Debo actualizar mi PrestaShop para evitar errores?
Sí, siempre es recomendable mantener PrestaShop, sus módulos y su tema actualizados. Las actualizaciones corrigen errores de compatibilidad con versiones nuevas de PHP y mejoran la seguridad.
¿Qué es Syspanel y por qué el puerto 2106?
Syspanel es el nombre actualizado del panel de control que antes se conocía como HestiaCP. Para acceder a él, debes escribir en tu navegador la dirección de tu servidor seguida de :2106 (por ejemplo: https://tu-servidor.com:2106). Es una alternativa moderna a cPanel y DirectAdmin, y los pasos para arreglar el error 500 son prácticamente los mismos.
Resumen final
Para solucionar error 500 en PrestaShop, sigue este orden lógico:
- Activa el modo debug para ver el error real.
- Aumenta la memoria PHP (a 256M o 512M).
- Revisa los permisos de archivos (755 carpetas, 644 archivos).
- Limpia la caché de PrestaShop.
- Renombra el
.htaccesspara probar si es el culpable. - Cambia la versión de PHP a una compatible.
- Desactiva módulos desde la base de datos si es necesario.
- Consulta los logs del servidor para obtener la pista definitiva.
Con paciencia y estos pasos, tu tienda volverá a estar operativa. Recuerda que si en algún momento te sientes perdido, siempre puedes contactar con el soporte de tu hosting, ya que tienen acceso a herramientas más avanzadas. ¡No te rindas, que esto tiene solución!
