Cómo resolver el error 500 en PrestaShop (Internal Server Error)
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 prestashop, también conocido como internal server error prestashop, es uno de los problemas más temidos por cualquier dueño de una tienda online. Ver esa pantalla en blanco o el mensaje "Internal Server Error" puede ser desesperante, sobre todo si tienes clientes intentando comprar en ese momento.
Pero respira tranquilo. En la mayoría de los casos, este error no significa que hayas perdido tus datos ni que tu tienda esté rota para siempre. Simplemente indica que el servidor no puede procesar la solicitud que le está haciendo PrestaShop. Es como si el camarero de un restaurante entendiera tu pedido, pero la cocina no pudiera prepararlo por algún problema interno.
Las causas más comunes suelen ser:
- Archivos con permisos incorrectos.
- Un módulo o tema que está dando problemas.
- Archivos PHP corruptos o incompletos.
- Límite de memoria del servidor demasiado bajo.
- Problemas con el archivo
.htaccess. - Errores en la configuración de PHP.
- Conflictos entre versiones de PHP y PrestaShop.
A lo largo de esta guía, vamos a solucionar error 500 paso a paso, desde las soluciones más simples hasta las más avanzadas. No necesitas ser un experto en programación para seguir estos pasos, solo necesitas paciencia y acceso a tu hosting.
Primeros pasos: antes de tocar nada
Antes de lanzarte a modificar archivos, es fundamental que hagas una copia de seguridad completa de tu tienda. Esto incluye tanto los archivos como la base de datos. Si algo sale mal durante el proceso, podrás restaurar todo sin perder información valiosa.
También te recomiendo que anotes la versión exacta de PrestaShop que estás usando. Puedes encontrarla en el archivo config/settings.inc.php (en versiones antiguas) o en app/config/parameters.php (en versiones más recientes). Esta información te será muy útil si necesitas contactar con soporte técnico.
[WARNING] No intentes arreglar el error 500 sin hacer una copia de seguridad previa. Podrías empeorar la situación y perder datos importantes de tu tienda.
Solución 1: Comprueba los permisos de archivos y carpetas
La causa más frecuente del prestashop error servidor son los permisos incorrectos en los archivos. Cuando los permisos son demasiado restrictivos o demasiado permisivos, el servidor puede bloquear la ejecución de scripts PHP.
Los permisos correctos para PrestaShop son:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Archivos de configuración: 444 (r--r--r--)
Para cambiar los permisos, tienes dos opciones:
Usando el administrador de archivos de tu hosting
- Accede al panel de control de tu hosting (cPanel, Plesk, Syspanel, etc.).
- Busca la herramienta "Administrador de archivos" o "File Manager".
- Navega hasta la carpeta raíz de tu instalación de PrestaShop.
- Selecciona todos los archivos y carpetas.
- Haz clic derecho y elige "Cambiar permisos" o "Change Permissions".
- Introduce los valores correctos (755 para carpetas, 644 para archivos).
- Aplica los cambios y revisa si el error desaparece.
Usando un cliente FTP
- Conéctate a tu servidor usando FileZilla o cualquier otro cliente FTP.
- Selecciona todos los archivos de tu instalación de PrestaShop.
- Haz clic derecho y elige "Permisos de archivo" o "File permissions".
- Configura los valores numéricos adecuados.
- Marca la opción "Aplicar a todos los archivos y carpetas" si está disponible.
[TIP] Si no sabes qué permisos tiene tu servidor, prueba primero con 755 y 644. Son los estándar para la mayoría de los hosting compartidos.
Solución 2: Activa el modo debug para ver el error real
El error 500 es muy genérico. No te dice exactamente qué está fallando. Para obtener más información, puedes activar el modo debug de PrestaShop. Esto te mostrará el error específico en pantalla, lo que hará mucho más fácil identificar el problema.
Para activar el modo debug en PrestaShop 1.7 y versiones posteriores:
- Accede a tu hosting por FTP o administrador de archivos.
- Busca el archivo
config/defines.inc.php(oapp/config/parameters.phpen versiones más nuevas). - Abre el archivo con un editor de texto.
- Busca la línea que dice
define('_PS_MODE_DEV_', false);. - Cambia
falseportrue. - Guarda el archivo y recarga tu tienda.
En PrestaShop 1.6 y versiones anteriores:
- Busca el archivo
config/config.inc.php. - Abre el archivo y busca
@ini_set('display_errors', 'off');. - Cambia
'off'por'on'. - Guarda y recarga.
[INFO] Una vez que hayas identificado y solucionado el problema, desactiva el modo debug. Dejarlo activo en producción es un riesgo de seguridad y puede mostrar información sensible a los visitantes.
Solución 3: Revisa el archivo .htaccess
El archivo .htaccess es un archivo de configuración que controla cómo el servidor maneja las solicitudes. Si este archivo está corrupto o tiene reglas incorrectas, puede provocar un error 500 prestashop.
Para solucionarlo:
- Accede a la carpeta raíz de tu instalación de PrestaShop.
- Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en tu cliente FTP o administrador de archivos. - Descarga una copia de seguridad de este archivo en tu ordenador.
- Renombra el archivo original a
.htaccess.bak. - Accede al panel de administración de PrestaShop (si puedes).
- Ve a Parámetros avanzados > Rendimiento.
- Haz clic en "Guardar" sin cambiar nada. Esto regenerará automáticamente el archivo
.htaccess. - Comprueba si el error ha desaparecido.
Si no puedes acceder al panel de administración, puedes crear un archivo .htaccess vacío y subirlo. Luego, intenta acceder a tu tienda. Si funciona, el problema estaba en el archivo original.
[WARNING] Si usas URL amigables (SEO), necesitarás regenerar el .htaccess desde el panel de administración. Si no lo haces, las URLs de tus productos y categorías dejarán de funcionar.
Solución 4: Aumenta el límite de memoria PHP
PrestaShop necesita una cantidad mínima de memoria para funcionar correctamente. Si el servidor tiene un límite demasiado bajo, puede dar un prestashop error servidor al intentar cargar páginas complejas o ejecutar procesos pesados.
El límite recomendado es de al menos 256 MB, aunque 512 MB es lo ideal para tiendas con muchos productos o módulos.
Para aumentar el límite de memoria:
- Busca el archivo
php.inien tu servidor. Si no existe, puedes crearlo en la carpeta raíz de tu instalación. - Abre el archivo y busca la línea
memory_limit. - Cambia el valor a
memory_limit = 512M. - Guarda el archivo y reinicia el servidor si es posible.
Si no puedes acceder al php.ini, prueba con el archivo .htaccess:
- Abre el archivo
.htaccess(el que ya tienes o uno nuevo). - Añade esta línea al final:
php_value memory_limit 512M. - Guarda y recarga tu tienda.
Otra opción es crear un archivo php.ini personalizado en la carpeta config de tu PrestaShop:
- Crea un archivo llamado
php.ini. - Añade estas líneas:
memory_limit = 512M max_execution_time = 300 upload_max_filesize = 64M - Sube el archivo a la carpeta
config. - Recarga tu tienda.
Solución 5: Desactiva módulos o temas problemáticos
Otra causa muy común del internal server error prestashop son los módulos o temas que no son compatibles con tu versión de PrestaShop o que tienen errores de código.
Para identificar si un módulo está causando el problema:
- Ve a la carpeta
modulesde tu instalación. - Renombra la carpeta del módulo sospechoso añadiendo
_disabledal final (por ejemplo,ps_googleanalytics_disabled). - Recarga tu tienda. Si el error desaparece, ese módulo era el culpable.
Para desactivar todos los módulos de una vez:
- Accede a la base de datos de tu tienda usando phpMyAdmin (desde el panel de tu hosting).
- Ejecuta esta consulta SQL:
UPDATE ps_module SET active = 0 WHERE active = 1; - Recarga tu tienda. Si funciona, reactiva los módulos uno a uno para encontrar el problemático.
[TIP] Los módulos de pago, envío y los relacionados con Google suelen ser los que más problemas dan. Empieza por desactivar esos primero.
Solución 6: Comprueba la compatibilidad de PHP
PrestaShop tiene requisitos específicos de versión de PHP. Si tu servidor ha actualizado PHP a una versión demasiado reciente o demasiado antigua, puede provocar un error 500 prestashop.
Los requisitos aproximados son:
- PrestaShop 1.6: PHP 5.2 a 5.6 (idealmente 5.6).
- PrestaShop 1.7: PHP 5.6 a 7.4 (idealmente 7.2 o 7.4).
- PrestaShop 8.x: PHP 7.2 a 8.1 (idealmente 8.0 o 8.1).
Para cambiar la versión de PHP:
- Accede al panel de control de tu hosting.
- Busca la sección "Versión de PHP" o "PHP Selector".
- Selecciona la versión recomendada para tu PrestaShop.
- Guarda los cambios y espera unos minutos.
- Recarga tu tienda.
[WARNING] Antes de cambiar la versión de PHP, verifica que todos tus módulos y temas son compatibles con la nueva versión. De lo contrario, podrías romper otras funcionalidades de tu tienda.
Solución 7: Revisa los logs del servidor
Si ninguna de las soluciones anteriores funciona, es hora de mirar los logs del servidor. Estos archivos registran todos los errores que ocurren en tu sitio y te darán pistas valiosas sobre qué está fallando.
Para acceder a los logs:
- Ve a tu panel de control de hosting.
- Busca la sección "Logs" o "Registros de errores".
- Si usas cPanel, busca "Error Logs" en la sección "Métricas".
- Si usas Syspanel, busca "Registros del sistema" en el menú principal.
Los logs suelen estar en rutas como:
/var/log/apache2/error.log/home/usuario/logs/error.log/logs/error.log
Busca las líneas que correspondan a la fecha y hora en que ocurrió el error. Los mensajes típicos incluyen:
- "PHP Fatal error: Allowed memory size exhausted"
- "PHP Parse error: syntax error"
- "Permission denied"
- "File not found"
Con estos mensajes, podrás identificar exactamente qué archivo o proceso está causando el problema.
Solución 8: Restaura archivos corruptos
Si has llegado hasta aquí y el error persiste, es posible que algunos archivos de tu instalación de PrestaShop estén corruptos o incompletos. Esto puede pasar por una actualización fallida, una transferencia FTP interrumpida o un ataque malicioso.
La solución más efectiva es restaurar los archivos desde una copia de seguridad o descargar la versión original de PrestaShop:
- Descarga la misma versión de PrestaShop que tienes instalada desde el sitio oficial.
- Descomprime el archivo en tu ordenador.
- Sube los archivos por FTP, reemplazando los existentes. Ten cuidado de no sobrescribir los archivos de configuración (
config/settings.inc.phpoapp/config/parameters.php). - También evita sobrescribir la carpeta
modulesythemessi has hecho personalizaciones.
[INFO] Esta solución es más avanzada y requiere más tiempo. Si no te sientes seguro, contacta con el soporte de tu hosting o con un desarrollador especializado en PrestaShop.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo se tarda en solucionar un error 500 en PrestaShop?
Depende de la causa. Los problemas de permisos o .htaccess pueden solucionarse en 10-15 minutos. Los problemas con módulos o PHP pueden llevar 1-2 horas. Si necesitas restaurar archivos completos, puede llevar medio día.
¿El error 500 puede afectar a mi posicionamiento SEO?
Sí, si el error persiste durante mucho tiempo, Google puede penalizar tu tienda. Los rastreadores no podrán acceder a tus páginas y podrían eliminarlas de los resultados de búsqueda. Por eso es importante solucionarlo rápidamente.
¿Puedo evitar que vuelva a ocurrir?
Algunas medidas preventivas incluyen:
- Mantener PrestaShop y los módulos siempre actualizados.
- Hacer copias de seguridad periódicas.
- No instalar módulos de fuentes no confiables.
- Monitorear los logs del servidor regularmente.
- Elegir un hosting que cumpla con los requisitos de PrestaShop.
¿Qué hago si ninguna solución funciona?
Si has probado todas las soluciones de esta guía y el error persiste, contacta con el soporte técnico de tu hosting. Ellos tienen acceso al servidor y pueden identificar problemas a nivel de infraestructura que tú no puedes ver.
Conclusión
El error 500 prestashop puede parecer aterrador al principio, pero con este artículo tienes todas las herramientas necesarias para solucionar error 500 de manera efectiva. Recuerda siempre empezar por las soluciones más simples (permisos, .htaccess, memoria) y luego pasar a las más complejas (módulos, PHP, restauración).
Lo más importante es mantener la calma y seguir los pasos en orden. No intentes hacer varias cosas a la vez, porque será difícil saber qué solución funcionó. Y si en algún momento te sientes abrumado, no dudes en buscar ayuda profesional. Tu tienda online es un activo valioso, y vale la pena invertir en mantenerla funcionando correctamente.
Con paciencia y estos consejos, tu tienda volverá a estar operativa en poco tiempo, y podrás seguir vendiendo tus productos sin interrupciones.
