Guía para solucionar error 500 en PrestaShop
¿Tu tienda PrestaShop ha dejado de funcionar de repente y solo ves una pantalla en blanco o un mensaje de error 500 PrestaShop? No te preocupes, es uno de los problemas más comunes en servidores Linux y, aunque parezca grave, en la mayoría de los casos se puede solucionar con unos pocos pasos. En esta guía completa te explicaremos qué significa este error, por qué ocurre y, lo más importante, cómo solucionar error 500 PrestaShop paso a paso, incluso si no eres un experto en sistemas.
¿Qué es el error 500 en PrestaShop?
El error 500 PrestaShop (también conocido como "Internal Server Error") es una respuesta genérica del servidor que indica que algo ha fallado internamente, pero sin dar detalles específicos sobre la causa. En otras palabras, el servidor web (Apache o Nginx) no puede procesar la solicitud debido a un problema en la configuración, en los archivos de la tienda o en los recursos del sistema.
A diferencia de otros errores como el 404 (página no encontrada) o el 403 (acceso denegado), el error 500 es un comodín que puede tener muchas causas. Por eso, lo primero que debemos hacer es mantener la calma y seguir un proceso de diagnóstico sistemático.
Causas más comunes del error 500 en PrestaShop
Antes de empezar a reparar, es útil conocer qué suele provocar este problema:
- Archivos .htaccess corruptos o con reglas incorrectas (especialmente después de migraciones o actualizaciones).
- Límite de memoria PHP (memory_limit) excedido por módulos pesados o scripts mal optimizados.
- Permisos de archivos incorrectos después de subir archivos por FTP o modificar directorios.
- Módulos o temas incompatibles tras una actualización de PrestaShop o de PHP.
- Configuración de PHP incorrecta (versión desactualizada, extensiones faltantes como
mysqliocurl). - Problemas con el archivo
config/defines.inc.phpo con la caché de PrestaShop. - Espacio en disco insuficiente en el servidor (especialmente en la partición donde está la tienda).
- Error en la base de datos (tablas corruptas o consultas que agotan los recursos).
Paso 1: Activar el modo de depuración de PrestaShop
Lo primero que debes hacer es obtener más información sobre el error. PrestaShop tiene un modo de desarrollo que muestra mensajes de error detallados en lugar de la pantalla en blanco.
Si aún puedes acceder al panel de administración:
- Ve a Parámetros Avanzados > Rendimiento.
- En la sección Depuración, selecciona "Sí" en "Mostrar errores de PHP".
- Guarda los cambios. Ahora, al recargar la tienda, verás un mensaje específico que te indicará la causa (por ejemplo, un archivo con un error de sintaxis).
Si no puedes acceder al panel de administración:
Deberás editar manualmente el archivo config/defines.inc.php:
- Conéctate a tu servidor mediante FTP o el gestor de archivos de tu panel de hosting (por ejemplo, Syspanel en el puerto 2106).
- Localiza el archivo
[raíz de PrestaShop]/config/defines.inc.php. - Busca la línea:
define('_PS_MODE_DEV_', false);y cámbiala adefine('_PS_MODE_DEV_', true);. - Guarda el archivo y recarga la tienda. Ahora verás un mensaje de error detallado.
[INFO] Si después de este cambio ves un error de tipo "Parse error" o "Fatal error", anota el nombre del archivo y la línea que se mencionan. Esa información es clave para la solución.
Paso 2: Revisar y restaurar el archivo .htaccess
El archivo .htaccess es uno de los principales sospechosos cuando aparece un PrestaShop error server. Si está dañado o tiene reglas incorrectas, el servidor no sabrá cómo manejar las URLs.
Cómo solucionarlo:
- Accede a la raíz de tu tienda por FTP o gestor de archivos.
- Busca el archivo
.htaccess(puede estar oculto, así que activa la opción "Mostrar archivos ocultos" en tu cliente FTP). - Renómbralo a algo como
.htaccess_oldpara desactivarlo temporalmente. - Recarga tu tienda. Si el error 500 desaparece, el problema estaba en ese archivo.
- Para regenerar un
.htaccesslimpio, entra al panel de administración de PrestaShop y ve a Parámetros Avanzados > SEO y URLs. Haz clic en Guardar sin cambiar nada. Esto generará un nuevo archivo correcto.
[WARNING] Si al renombrar el .htaccess el error sigue, no te preocupes. Vuelve a ponerle el nombre original y continúa con el siguiente paso.
Paso 3: Verificar permisos de archivos y carpetas
Los permisos incorrectos son otra causa frecuente. PrestaShop necesita que ciertos archivos y carpetas tengan permisos específicos para funcionar.
Permisos recomendados:
- Carpetas (directorios): 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Archivos de configuración (como
config/settings.inc.php): 644 o 640 (nunca 777).
Cómo cambiarlos:
- Desde tu panel de hosting (por ejemplo, Syspanel en el puerto 2106), usa el gestor de archivos o conéctate por FTP.
- Selecciona toda la carpeta de PrestaShop y, en las propiedades, asigna 755 a todas las carpetas y 644 a todos los archivos.
- Si usas FTP, muchos clientes tienen una opción "Cambiar permisos recursivamente". Asegúrate de marcar "Aplicar a todos los subdirectorios y archivos".
[TIP] Si después de cambiar permisos el error persiste, prueba con permisos 755 para todo (tanto archivos como carpetas) de forma temporal. Luego, cuando todo funcione, vuelve a 644 para los archivos por seguridad.
Paso 4: Aumentar el límite de memoria PHP
Muchos errores 500 en PrestaShop se deben a que el script se queda sin memoria. Esto es común cuando tienes muchos módulos, catálogos grandes o imágenes pesadas.
Cómo aumentar memory_limit:
- Localiza el archivo
php.inien tu servidor. Si usas Syspanel, puedes encontrarlo en la sección "PHP Settings" de tu plan de hosting. - Busca la línea
memory_limity cámbiala a un valor mayor. Por ejemplo:memory_limit = 256M(o incluso 512M si tu servidor lo permite). - Si no tienes acceso al
php.iniglobal, puedes crear un archivophp.inien la raíz de tu tienda con el siguiente contenido:
memory_limit = 256M
max_execution_time = 120
max_input_time = 120
- Guarda el archivo y recarga la tienda.
[INFO] Si usas un hosting compartido, es posible que no puedas modificar el
php.iniglobal. En ese caso, contacta con tu proveedor de hosting y solicita que aumenten el límite de memoria para tu cuenta.
Paso 5: Desactivar módulos y temas sospechosos
Si el error 500 apareció después de instalar o actualizar un módulo o tema, es muy probable que sea el culpable. Para comprobarlo:
Desde el panel de administración (si puedes acceder):
- Ve a Módulos > Administrador de módulos.
- Desactiva los módulos que instalaste recientemente, uno por uno, y recarga la tienda para ver si el error desaparece.
- Si encuentras el módulo problemático, elimínalo o busca una actualización.
Si no puedes acceder al panel:
- Conéctate por FTP y renombra la carpeta del módulo sospechoso. Por ejemplo, cambia
modules/nombremoduloamodules/nombremodulo_off. - Recarga la tienda. Si el error desaparece, ya sabes qué módulo causaba el problema.
- Haz lo mismo con los temas. Ve a
themes/nombretemay renómbralo temporalmente.
Paso 6: Revisar la versión de PHP y extensiones
PrestaShop 1.7 requiere PHP 7.1 o superior (idealmente 7.4 u 8.0). Una versión desactualizada o faltante de extensiones como mysqli, curl, gd, zip o openssl puede provocar un error 500.
Cómo verificarlo:
- Crea un archivo llamado
info.phpen la raíz de tu tienda con el siguiente contenido:<?php phpinfo(); ?> - Accede a
tudominio.com/info.phpy busca la sección "PHP Version" y "Loaded Configuration File". - Compara la versión con los requisitos de tu PrestaShop. Si es inferior, contacta con tu hosting para que la actualicen.
- También revisa que las extensiones mencionadas aparezcan como "enabled".
[WARNING] Después de la prueba, elimina el archivo
info.phppor seguridad, ya que expone información sensible de tu servidor.
Paso 7: Limpiar la caché de PrestaShop
A veces, la caché de PrestaShop se corrompe y provoca errores internos. Limpiarla puede ser la solución más rápida.
Cómo limpiar la caché:
- Accede a tu panel de administración.
- Ve a Parámetros Avanzados > Rendimiento.
- En la sección "Caché", haz clic en "Limpiar la caché" (tanto de Smarty como de Symfony).
- Si no puedes acceder al panel, elimina manualmente el contenido de las carpetas
var/cacheycache(en la raíz de PrestaShop). No borres las carpetas, solo su contenido.
Paso 8: Verificar espacio en disco y logs del servidor
Un error 500 también puede deberse a que el disco duro del servidor está lleno. PrestaShop necesita espacio para escribir archivos temporales, sesiones y logs.
Cómo comprobarlo:
- Desde Syspanel (puerto 2106), ve a la sección de "Estadísticas" o "Uso de disco".
- Si el espacio está al 100%, libera espacio eliminando copias de seguridad antiguas, logs de acceso o archivos temporales.
- También revisa los logs del servidor (Apache o Nginx) en la ruta
/var/log/o desde el panel de administración de tu hosting. Busca errores recientes que mencionen "500" o "PHP Fatal error".
Preguntas frecuentes (FAQ)
¿Por qué aparece el error 500 solo en algunas páginas?
Esto suele indicar un problema con un módulo o tema específico, o con una página que consume muchos recursos. Sigue los pasos 5 y 4 (aumentar memoria) para diagnosticarlo.
¿El error 500 puede deberse a un ataque?
Sí, aunque es menos común. Si sospechas de un ataque, revisa los logs del servidor en busca de peticiones extrañas y cambia todas las contraseñas (FTP, panel de administración, base de datos). También puedes instalar un módulo de seguridad.
¿Cómo evitar que vuelva a ocurrir?
- Mantén PrestaShop, módulos y temas actualizados.
- Realiza copias de seguridad periódicas.
- No instales módulos de fuentes no confiables.
- Monitoriza el uso de memoria y espacio en disco.
- Usa una versión de PHP compatible y estable.
¿Qué hago si después de todo el error 500 persiste?
Si has seguido todos los pasos y el error continúa, es hora de contactar con tu proveedor de hosting. Ellos pueden revisar los logs del servidor a nivel raíz y detectar problemas más profundos, como errores de configuración de Apache o Nginx, o limitaciones en los recursos de tu plan.
Conclusión
El error 500 PrestaShop puede ser frustrante, pero como has visto, en la mayoría de los casos se puede solucionar error 500 PrestaShop con un enfoque metódico. Desde activar el modo de depuración hasta limpiar la caché o aumentar la memoria PHP, cada paso te acerca a recuperar tu tienda. Recuerda que la paciencia y la documentación son tus mejores aliadas.
Si después de esta guía sigues teniendo problemas, no dudes en buscar ayuda en foros especializados o en el soporte técnico de tu hosting. Y, por supuesto, mantén siempre una copia de seguridad actualizada de tu tienda para minimizar el impacto de cualquier imprevisto.
¡Esperamos que esta guía te haya sido útil y que tu PrestaShop vuelva a funcionar sin problemas!
