¿Cómo solucionar el error 500 en PrestaShop? Guía de SysAdmin
Imagina que estás en medio de una jornada de trabajo, tu tienda PrestaShop funciona perfectamente y de repente… ¡pantalla en blanco con un mensaje de error 500! Es una de las situaciones más frustrantes para cualquier administrador de sistemas o dueño de tienda online. No te preocupes, es más común de lo que crees y, en la mayoría de los casos, tiene solución. En esta guía de SysAdmin, te voy a explicar paso a paso cómo solucionar el error 500 en PrestaShop, desde las causas más frecuentes hasta las herramientas más avanzadas.
Este artículo está pensado para que lo entiendas aunque no seas un experto en Linux. Vamos a usar un lenguaje sencillo, comandos básicos y muchos consejos prácticos. Al final, sabrás exactamente qué hacer cuando aparezca el temido error 500 PrestaShop.
¿Qué es exactamente el error 500?
El error 500 (Internal Server Error) es un mensaje genérico que indica que algo ha fallado en el servidor, pero no dice exactamente qué. Puede deberse a un problema de permisos, un archivo corrupto, un módulo incompatible, falta de memoria o incluso una mala configuración del servidor web.
Para un SysAdmin, diagnosticar este error es como ser un detective: hay que buscar pistas en los logs del servidor, en los archivos de configuración y en el propio PrestaShop.
Primeros pasos: antes de tocar nada
Antes de lanzarte a hacer cambios, es importante que actúes con calma y sigas estos pasos iniciales:
- No entres en pánico. El error 500 suele ser reversible.
- Haz una copia de seguridad. Si puedes acceder al panel de control o por FTP, descarga una copia de los archivos y la base de datos. Esto te permitirá restaurar todo si algo sale mal.
- Comprueba si el error es general o específico. A veces el error 500 solo aparece en una página concreta (por ejemplo, en el carrito o en un producto). Si es general, el problema es más amplio.
- Revisa la URL. A veces un simple enlace roto o un parámetro mal escrito puede provocar el error. Prueba a limpiar la caché del navegador o usar una ventana de incógnito.
Causas comunes y soluciones paso a paso
Aquí te presento las causas más habituales del error 500 PrestaShop y cómo solucionarlas.
1. Permisos de archivos incorrectos
Una de las causas más frecuentes. PrestaShop necesita permisos específicos para leer y escribir archivos. Si los permisos son demasiado restrictivos o demasiado abiertos, el servidor se bloquea.
Solución:
Accede a tu servidor por SSH o a través del panel de control (como Syspanel, que es el panel que usamos en nuestros servidores, y que puedes gestionar desde tu navegador en el puerto 2106). Una vez dentro, ejecuta estos comandos:
# Para archivos: 644
find /ruta/a/tu/prestashop -type f -exec chmod 644 {} \;
# Para carpetas: 755
find /ruta/a/tu/prestashop -type d -exec chmod 755 {} \;
Recuerda cambiar /ruta/a/tu/prestashop por la ruta real donde tengas instalada tu tienda.
[TIP] Si no sabes la ruta exacta, desde Syspanel puedes ir a "Dominios" y ver la carpeta raíz de tu sitio.
2. Archivo .htaccess corrupto o mal configurado
El archivo .htaccess es un archivo de configuración del servidor web Apache. Si está dañado, puede provocar un error 500.
Solución:
- Conéctate por FTP o desde el administrador de archivos de Syspanel.
- Localiza el archivo
.htaccessen la raíz de tu PrestaShop. - Renómbralo a
.htaccess_old(esto lo desactiva temporalmente). - Vuelve a cargar tu tienda. Si el error desaparece, el problema está en ese archivo.
- Para regenerarlo, ve al back office de PrestaShop: Parámetros de la tienda > Tráfico y SEO > URL amigables. Desmarca y vuelve a marcar "URL amigables" y guarda. Esto creará un nuevo
.htaccess.
[WARNING] Si no puedes acceder al back office, puedes crear un
.htaccessbásico manualmente. Busca en Google "PrestaShop .htaccess por defecto" y pégalo en un archivo nuevo.
3. Módulos o temas incompatibles
Un módulo desactualizado o un tema mal programado puede generar un conflicto y lanzar un error 500.
Solución:
- Desactiva todos los módulos no esenciales. Si tienes acceso al back office, ve a Módulos > Gestor de módulos y desactiva los que no sean de PrestaShop o los que hayas instalado recientemente.
- Si no tienes acceso al back office, tendrás que hacerlo manualmente. Conéctate por FTP o desde Syspanel, navega hasta la carpeta
/modulesy renombra la carpeta del módulo sospechoso (por ejemplo,micodigoamicodigo_old). - Prueba con el tema por defecto. Cambia temporalmente al tema clásico de PrestaShop. Para ello, ve a Diseño > Temas y selecciona el tema por defecto.
[INFO] Si el error desaparece al cambiar de tema, el problema está en tu tema personalizado. Contacta con el desarrollador.
4. Límite de memoria PHP excedido (memory_limit)
PrestaShop es una aplicación que consume muchos recursos. Si el límite de memoria PHP es demasiado bajo, puede dar un error 500, sobre todo en páginas con muchos productos o en procesos pesados.
Solución:
Aumenta el límite de memoria PHP. Puedes hacerlo de varias formas:
- Desde el archivo php.ini (si tienes acceso). Busca la línea
memory_limity cámbiala amemory_limit = 256Mo incluso512M. - Desde el archivo .htaccess. Añade esta línea al final:
php_value memory_limit 256M - Desde el archivo config/defines.inc.php de PrestaShop. Busca
define('_PS_MEMORY_LIMIT_', '128M');y cámbialo a'256M'.
[TIP] En Syspanel, puedes cambiar la versión de PHP y sus parámetros desde la sección "PHP Settings" de tu dominio. Busca "memory_limit" y ajústalo.
5. Problemas con la base de datos
Una base de datos corrupta o con tablas dañadas puede provocar un error 500.
Solución:
Accede a phpMyAdmin (desde Syspanel, en la sección "Bases de datos") y selecciona la base de datos de tu PrestaShop. Luego, en la parte inferior, marca "Seleccionar todo" y en el menú desplegable elige "Reparar tabla". Esto intentará reparar cualquier tabla dañada.
También puedes ejecutar este comando desde la línea de comandos de MySQL:
mysqlcheck -u usuario -p --auto-repair nombre_base_datos
6. Archivos de caché o compilación corruptos
PrestaShop guarda archivos temporales para acelerar la carga. Si estos archivos se corrompen, pueden causar errores.
Solución:
Borra la carpeta de caché manualmente. Conéctate por FTP y elimina todo el contenido de la carpeta /var/cache (o /cache en versiones antiguas). También puedes borrar la carpeta /themes/tu-tema/cache si existe.
[INFO] No borres la carpeta en sí, solo su contenido. Si no puedes borrarlos, cambia los permisos de la carpeta a 777 temporalmente, bórralos y luego vuelve a ponerlos a 755.
7. Logs del servidor: tu mejor aliado
Cuando todo lo demás falla, los logs del servidor son la clave. Te dirán exactamente qué está fallando.
Solución:
- Logs de error de Apache: Suelen estar en
/var/log/apache2/error.logo/var/log/httpd/error_log. Puedes verlos con el comandotail -f /var/log/apache2/error.logen tiempo real. - Logs de PHP: Busca en
/var/log/php/o en el archivophp_error.logdentro de la carpeta de tu PrestaShop. - Desde Syspanel: Ve a "Logs" y selecciona el dominio. Allí encontrarás los logs de acceso y error.
Busca la línea que contenga "PHP Fatal error" o "AH01215". Esa línea te dará la pista definitiva (por ejemplo, "require(): Failed opening required '...'").
Herramientas de SysAdmin para diagnosticar más rápido
Si eres administrador de sistemas, estas herramientas te ahorrarán mucho tiempo:
-
Comando
curl: Para ver la respuesta del servidor desde la terminal:curl -I https://tutienda.comSi te da un 500, sabes que es un error interno.
-
Comprobación de la versión de PHP: Asegúrate de que tu PrestaShop es compatible con la versión de PHP que tienes instalada. PrestaShop 1.7 necesita PHP 7.1 o superior, mientras que la 1.6 funciona mejor con PHP 5.6 o 7.0. En Syspanel puedes cambiar la versión de PHP fácilmente.
-
Revisión de la memoria del servidor: Ejecuta
free -mpara ver si el servidor se está quedando sin RAM. Si es así, puede que necesites un plan de hosting más potente.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
1. ¿El error 500 puede deberse a un ataque?
Sí, a veces un ataque de fuerza bruta o un intento de inyección SQL puede saturar el servidor y provocar un error 500. Revisa los logs de acceso para ver si hay muchas peticiones desde una misma IP.
2. ¿Qué hago si no tengo acceso al back office ni por FTP?
Si no puedes acceder por FTP, contacta con tu proveedor de hosting. Si usas Syspanel, puedes acceder al administrador de archivos desde el propio panel (puerto 2106) sin necesidad de FTP.
3. ¿Puedo solucionar el error 500 sin ser técnico?
Sí, siguiendo esta guía paso a paso. Empieza por lo más sencillo: limpia la caché y comprueba los permisos. Si no funciona, pide ayuda a un SysAdmin o a tu hosting.
4. ¿El error 500 afecta al SEO?
Sí, si el error persiste durante horas o días, los motores de búsqueda pueden penalizar tu sitio. Es importante solucionarlo lo antes posible.
5. ¿Cómo evito que vuelva a ocurrir?
Mantén PrestaShop, los módulos y el tema actualizados. Realiza copias de seguridad periódicas y monitoriza los logs del servidor. Un buen mantenimiento preventivo es la mejor solución.
Conclusión
El error 500 PrestaShop puede parecer un monstruo, pero con un enfoque metódico y las herramientas adecuadas, puedes solucionarlo en pocos minutos. Recuerda siempre empezar por lo más simple: permisos, caché y logs. Si te sientes perdido, no dudes en contactar con tu equipo de SysAdmin o con el soporte técnico de tu hosting.
Espero que esta guía te haya sido de gran ayuda. Si sigues estos pasos, tu tienda volverá a estar online en un abrir y cerrar de ojos. ¡Mucho éxito con tu PrestaShop!
