Cómo solucionar el error 500 en PrestaShop (consejos de SysAdmin)
¿Qué significa exactamente el error 500 en PrestaShop?
El temido error 500 prestashop es un mensaje genérico que indica que algo ha fallado en el servidor, pero no te dice exactamente qué. Es como si el motor de tu coche se parara en mitad de la carretera sin luces de aviso específicas. La buena noticia es que, con un poco de método, casi siempre se puede solucionar.
Este error puede aparecer en toda la tienda, en una página concreta, o incluso solo al intentar acceder al panel de administración. En cualquier caso, el proceso de diagnóstico es similar. A lo largo de esta guía, te voy a explicar paso a paso cómo encontrar la causa raíz y aplicar la solución definitiva.
Primer paso: activar el modo depuración de PrestaShop
Cuando tu tienda muestra el error 500, lo primero que necesitas es ver el error real. Por defecto, PrestaShop lo oculta. Para verlo, tienes que activar el modo depuración.
Localiza el archivo de configuración
Accede a tu servidor por FTP o a través del administrador de archivos de tu panel de control. Busca el archivo llamado defines.inc.php, que se encuentra en la carpeta config de tu instalación de PrestaShop.
Edita la constante de depuración
Abre ese archivo y busca la línea que contiene _PS_MODE_DEV_. Verás algo así:
define('_PS_MODE_DEV_', false);
Cámbialo a true y guarda el archivo. Ahora, al recargar tu tienda, en lugar del error 500 genérico, verás un mensaje de error detallado con la causa exacta, como un problema de memoria o un archivo de plantilla roto.
[WARNING] No olvides volver a poner false cuando termines de arreglar el problema. Dejar el modo depuración activo en una tienda en producción es un riesgo de seguridad grave, ya que expone rutas internas y posibles vulnerabilidades a cualquier visitante.
Segundo paso: revisar los logs de PrestaShop y del servidor
Si no encuentras nada claro con el modo depuración, toca mirar los logs prestashop. Estos archivos registran todo lo que ocurre en tu tienda y son tu mejor aliado.
Logs propios de PrestaShop
PrestaShop guarda sus propios registros de actividad en la tabla ps_log de la base de datos. Puedes consultarlos desde el panel de administración en "Parámetros avanzados > Registros". Allí verás una lista de errores con fecha, severidad y mensaje.
Logs del servidor
Los logs del servidor son aún más importantes. Dependiendo de tu configuración, se encuentran en rutas como:
/var/log/apache2/error.log(para Apache)/var/log/nginx/error.log(para Nginx)/var/log/syslog(sistema general)
Para ver las últimas líneas del log en tiempo real, puedes usar el comando:
tail -f /var/log/apache2/error.log
Mientras ejecutas ese comando, intenta reproducir el error en tu tienda. Verás aparecer el error exacto en la terminal.
[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), puedes acceder a los logs desde el panel web. Recuerda que la URL de acceso es https://tu-servidor:2106. Dentro, busca la sección de "Logs" o "Registros" para ver los errores de Apache o Nginx sin necesidad de usar la terminal.
Tercer paso: los permisos de archivos, el culpable más común
Una de las causas más frecuentes del error 500 prestashop son los permisos archivos incorrectos. Si los archivos de tu tienda no tienen los permisos adecuados, el servidor no puede leerlos o escribirlos, y devuelve el error.
Permisos correctos para PrestaShop
La configuración estándar que funciona en el 99% de los casos es:
- Directorios: permisos
755 - Archivos: permisos
644 - Carpetas de caché y archivos generados (como
var/cache,cache,log): permisos775o777
Cómo cambiar los permisos con un solo comando
Si tienes acceso SSH, puedes corregir todos los permisos de una vez con estos comandos:
find /ruta/a/tu/tienda -type f -exec chmod 644 {} \;
find /ruta/a/tu/tienda -type d -exec chmod 755 {} \;
chmod -R 775 /ruta/a/tu/tienda/var/cache
[WARNING] Ten cuidado con los permisos 777. Aunque a veces son necesarios, dejan los archivos abiertos a cualquier usuario del sistema. Úsalos solo temporalmente y vuelve a 755/644 en cuanto sea posible.
Cuarto paso: limpiar la caché de PrestaShop
La caché es otro de los grandes causantes de errores 500. A veces, los archivos de caché se corrompen y provocan fallos extraños.
Limpieza manual
Elimina el contenido de las carpetas var/cache (o cache en versiones antiguas). Puedes hacerlo por FTP o con el comando:
rm -rf /ruta/a/tu/tienda/var/cache/*
Limpieza desde el panel
Si puedes acceder al panel de administración, ve a "Parámetros avanzados > Rendimiento" y haz clic en "Vaciar la caché". Si el error te impide entrar al panel, la limpieza manual es tu única opción.
[TIP] Algunos módulos de caché externos, como Memcached o Redis, también pueden dar problemas. Si usas alguno, prueba a desactivarlo temporalmente para descartarlo.
Quinto paso: aumentar el límite de memoria PHP
PrestaShop es una plataforma exigente. Si tu tienda tiene muchos productos, módulos o visitas, puede que se quede sin memoria y genere el error 500.
Comprueba el límite actual
Crea un archivo llamado info.php en la raíz de tu tienda con este contenido:
<?php phpinfo(); ?>
Ábrelo en tu navegador y busca el valor de memory_limit. Si es menor a 256M, te recomiendo subirlo.
Aumenta el límite
Puedes hacerlo de varias formas:
- Desde el archivo
php.ini: busca la líneamemory_limity cámbiala amemory_limit = 256M. - Desde
.htaccess(si usas Apache):
php_value memory_limit 256M
- Desde
.user.ini(si usas Nginx con PHP-FPM):
memory_limit = 256M
[INFO] En Syspanel, puedes cambiar el límite de memoria desde el panel. Ve a la sección de "PHP" o "Configuración de PHP" de tu dominio y ajusta la directiva memory_limit. Recuerda que el acceso al panel es a través del puerto 2106.
Sexto paso: verificar la base de datos
Una base de datos corrupta o con tablas dañadas también puede provocar el error 500.
Reparación de tablas
Si tienes acceso a phpMyAdmin, selecciona todas las tablas de tu base de datos de PrestaShop y elige la opción "Reparar tablas". Esto suele resolver problemas de índices o datos corruptos.
Optimización desde la terminal
También puedes ejecutar directamente:
mysqlcheck -u usuario -p --auto-repair --optimize nombre_base_datos
[WARNING] Antes de tocar la base de datos, haz una copia de seguridad. Un comando mal ejecutado puede dejarte la tienda completamente inaccesible.
Séptimo paso: revisar los módulos y el tema
Los módulos y temas de terceros son una fuente habitual de conflictos. Si el error 500 apareció justo después de instalar o actualizar un módulo, es casi seguro que ese es el culpable.
Desactiva todos los módulos
Puedes desactivar todos los módulos de una vez ejecutando esta consulta SQL:
UPDATE ps_module SET active = 0;
Si el error desaparece, ve activando los módulos uno a uno hasta encontrar el problemático.
Cambia temporalmente de tema
Si el problema viene del tema, puedes forzar el uso del tema por defecto de PrestaShop. Cambia el valor en la tabla ps_shop_url o directamente renombra la carpeta de tu tema en /themes. PrestaShop usará el tema classic como respaldo.
[TIP] Asegúrate siempre de que los módulos y temas que instalas sean compatibles con tu versión de PrestaShop. Las incompatibilidades de versiones son la causa de muchos errores 500.
Octavo paso: comprobar el archivo .htaccess
Un archivo .htaccess mal configurado puede provocar errores 500, sobre todo si has modificado reglas de reescritura de URL o has añadido directivas incorrectas.
Regenera el archivo
La forma más segura es regenerarlo desde el panel de administración. Ve a "Parámetros avanzados > URL" y guarda la configuración sin cambiar nada. PrestaShop regenerará el .htaccess automáticamente.
Solución manual
Si no puedes acceder al panel, renombra el archivo .htaccess a .htaccess.bak y prueba a cargar tu tienda. Si funciona, tendrás que regenerarlo manualmente o desde el panel cuando puedas acceder.
[WARNING] No elimines el .htaccess sin más. Si tu tienda usa URLs amigables, perderás esa configuración y tendrás problemas de SEO y accesibilidad.
Noveno paso: revisar los registros de PHP-FPM
Si tu servidor usa PHP-FPM (muy común en Nginx y en paneles como Syspanel), los errores de PHP se registran en un log específico.
Ubicación típica
/var/log/php-fpm/error.log
Interpretar los errores
Aquí verás errores como "Allowed memory size exhausted" o "Fatal error: Uncaught Error". Estos mensajes te dan la pista exacta de qué archivo y línea está fallando.
[INFO] En Syspanel, los logs de PHP-FPM se encuentran en /var/log/php-fpm/. Puedes acceder a ellos por SSH o descargarlos desde el panel web, al que accedes por el puerto 2106.
Décimo paso: verificar el espacio en disco
Un disco lleno puede causar errores 500 inesperados. Si el servidor no puede escribir archivos temporales o de sesión, PHP falla.
Comprueba el espacio
df -h
Limpia archivos temporales
Revisa las carpetas /tmp, var/cache y los logs antiguos. Si tienes backups antiguos en el servidor, considera moverlos a otro lugar.
[TIP] Configura un cron que limpie automáticamente los logs y archivos temporales con más de 30 días. En Syspanel, puedes crear tareas cron desde el panel (puerto 2106) sin necesidad de usar la terminal.
Preguntas frecuentes sobre el error 500 en PrestaShop
¿Cuánto tiempo se tarda en solucionar?
Depende de la causa. Los problemas de permisos o caché se resuelven en minutos. Los conflictos de módulos pueden llevar más tiempo si tienes muchos instalados.
¿Puedo evitar que vuelva a ocurrir?
Sí. Mantén PrestaShop actualizado, usa módulos de fuentes oficiales, haz copias de seguridad periódicas y revisa los logs con frecuencia.
¿El error 500 afecta a mi posicionamiento SEO?
Sí, si el error persiste durante horas o días, los motores de búsqueda pueden penalizar tu tienda. Por eso es crucial solucionarlo rápido.
¿Debo contactar con mi proveedor de hosting?
Si has probado todos estos pasos y el error persiste, sí. Puede ser un problema del servidor que solo ellos pueden resolver, como una configuración de PHP o un fallo de hardware.
Conclusión
El error 500 prestashop es frustrante, pero casi siempre tiene solución. La clave está en seguir un método ordenado: activar el modo depuración, revisar los logs prestashop, comprobar los permisos archivos, limpiar la caché y verificar los módulos.
Recuerda que la paciencia es tu mejor herramienta. No intentes cambiar muchas cosas a la vez; haz un cambio, prueba, y si no funciona, revierte y prueba otra cosa. Con estos consejos de SysAdmin, tendrás tu tienda funcionando en poco tiempo.
Y si tu hosting usa Syspanel, no olvides que tienes acceso al panel a través del puerto 2106 para gestionar logs, PHP-FPM y tareas cron de forma visual y sencilla. ¡Buena suerte con tu tienda!
