Cómo solucionar el error 500 en PrestaShop al instalar en Plesk
¡Hola! Soy tu técnico de soporte de confianza. Sé que encontrarte con un error 500 en PrestaShop puede ser frustrante, sobre todo cuando estás a punto de lanzar tu tienda online.
Pero no te preocupes, respira hondo. Este error es uno de los más comunes en el mundo del hosting y, en la gran mayoría de los casos, tiene una solución clara y sencilla. En esta guía extensa y paso a paso, vamos a desglosar exactamente qué significa este error, por qué ocurre en un entorno Plesk y, lo más importante, cómo solucionarlo sin necesidad de ser un experto en programación.
Vamos a ello.
¿Qué es exactamente el Error 500 y por qué aparece en PrestaShop?
Primero, entendamos al enemigo. El error 500 prestashop plesk es un mensaje genérico del servidor que significa "Algo ha salido mal internamente, pero no te voy a dar más detalles por seguridad". Es como si el servidor dijera: "He intentado ejecutar tu código, pero ha petado y no puedo continuar".
A diferencia de un error 404 (página no encontrada) o un 403 (acceso prohibido), el 500 es un cajón de sastre. Las causas pueden ser muy variadas, pero en el contexto de PrestaShop instalado en Plesk, las más frecuentes suelen ser:
- Permisos de archivos incorrectos: Esta es la causa número uno. Los archivos de PrestaShop necesitan permisos específicos para ser leídos y ejecutados. Si se cambian por error, el servidor no puede trabajar.
- Archivo
.htaccesscorrupto o incompatible: Este archivo es como el "director de orquesta" del servidor Apache. Una sola línea mal escrita puede provocar un fallo total. - Límite de memoria PHP agotado: Si tu tienda necesita más memoria de la que el servidor le permite, el proceso se detiene y lanza el error.
- Errores en el código PHP: A veces, un módulo o tema mal configurado tiene un conflicto de código que hace fallar la aplicación.
- Versiones de PHP incompatibles: PrestaShop es exigente con las versiones de PHP. Usar una versión demasiado antigua o demasiado nueva puede causar estragos.
- Problemas con la base de datos: Aunque menos común, una conexión fallida o una tabla corrupta también pueden manifestarse como un error 500.
Diagnóstico Inicial: Antes de Empezar a Tocar Nada
Antes de lanzarnos a modificar archivos, es crucial hacer un pequeño diagnóstico. No queremos empeorar las cosas.
1. Activa el Modo Depurador de PrestaShop
PrestaShop tiene un modo de "mantenimiento" o "depuración" que nos muestra el error real en pantalla. Para ello, necesitamos editar un archivo de configuración.
[WARNING] Este paso requiere acceso al administrador de archivos de tu hosting. Si no sabes cómo acceder, consulta la documentación de Plesk o contacta con tu proveedor.
- Accede a tu panel de control Plesk.
- Ve a "Administrador de archivos" (suele estar en la sección de "Archivos").
- Navega hasta la carpeta raíz donde está instalado PrestaShop (normalmente
httpdocsopublic_html). - Busca el archivo llamado
config/defines.inc.php. - Haz clic derecho sobre él y selecciona "Editar" (o usa el editor de texto del propio administrador de archivos).
Dentro del archivo, busca esta línea:
define('_PS_MODE_DEV_', false);
Cámbiala a:
define('_PS_MODE_DEV_', true);
Guarda el archivo y recarga tu tienda. Ahora, en lugar del error 500 genérico, deberías ver un mensaje específico como "Fatal error: Allowed memory size of X bytes exhausted". Anota ese mensaje, ya que nos dará la pista definitiva.
[TIP] Si después de esto ves una página en blanco, intenta añadir esta línea justo debajo de la que has cambiado:
ini_set('display_errors', 'on');
2. Revisa los Logs del Servidor en Plesk
Si el modo depurador no te da resultados, los logs son tu siguiente mejor amigo.
- En Plesk, ve a la sección "Logs" o "Registros".
- Busca los logs de error de Apache o de tu dominio. Suelen llamarse
error_logo algo similar. - Descarga el archivo y ábrelo con un editor de texto (como el Bloc de notas).
- Busca las últimas entradas que coincidan con la hora en la que intentaste acceder a tu tienda. La línea de error te dirá exactamente qué archivo está causando el problema.
Soluciones Paso a Paso para el Error 500 en Plesk
Ahora que ya tenemos una idea de por dónde van los tiros, vamos a aplicar las soluciones más efectivas. Te recomiendo seguir este orden, de lo más simple a lo más complejo.
Solución 1: Corregir los Permisos de Archivos y Carpetas (La Más Común)
Los permisos correctos para PrestaShop en un servidor Linux (que es lo que usa Plesk) son:
- Carpetas (Directorios): Deben tener permiso 755.
- Archivos: Deben tener permiso 644.
Para corregirlos en Plesk:
- Ve al "Administrador de archivos".
- Navega a la raíz de tu instalación de PrestaShop.
- Selecciona todos los archivos y carpetas (puedes usar Ctrl+A).
- Haz clic en el botón "Permisos" (o "Cambiar permisos").
- En la ventana emergente, asegúrate de que las casillas estén marcadas así:
- Propietario: Lectura, Escritura y Ejecución (para carpetas) o Lectura y Escritura (para archivos).
- Grupo: Lectura y Ejecución.
- Público: Lectura y Ejecución.
- Si el panel te da la opción de aplicar a archivos y carpetas por separado, hazlo. Si no, aplica los permisos generales y luego verifica.
[INFO] No todos los paneles de archivos de Plesk permiten cambiar permisos de forma masiva fácilmente. Si no ves la opción, puedes usar el comando SSH si tu plan lo permite, pero eso ya es más avanzado. La mayoría de las veces, corregir los permisos de la carpeta var/cache y de la raíz suele ser suficiente.
Solución 2: Regenerar el Archivo .htaccess
El archivo .htaccess es un punto de fallo muy común. A veces se corrompe durante una actualización o instalación de un módulo. Para regenerarlo:
- Ve al "Administrador de archivos" en Plesk.
- Busca el archivo
.htaccessen la raíz de tu PrestaShop. OJO: Los archivos que empiezan por un punto están ocultos. Deberás activar la opción "Mostrar archivos ocultos" en la configuración del administrador de archivos. - Descarga una copia de seguridad a tu ordenador (por si acaso).
- Elimina el archivo
.htaccessdel servidor. - Ahora, accede a tu tienda. PrestaShop debería regenerar automáticamente un archivo nuevo y limpio. Si no lo hace, puedes intentar ir a
Parámetros Avanzados > Rendimientoen el back-office de PrestaShop y pulsar el botón "Vaciar la caché". A veces esto fuerza la recreación.
[WARNING] Si eliminas el .htaccess y tu tienda sigue funcionando, ¡genial! Pero si tu tienda deja de cargar los productos o da error 404, significa que el archivo se estaba generando correctamente. En ese caso, restaura la copia de seguridad que descargaste.
Solución 3: Aumentar el Límite de Memoria PHP
Este es el clásico "Allowed memory size exhausted". Es muy común si has instalado muchos módulos o tienes una tienda con muchos productos.
- Ve a Plesk y busca la sección "PHP Settings" o "Configuración de PHP" para tu dominio.
- Busca la opción
memory_limit. - Su valor suele ser
128Mo256M. Te recomiendo aumentarlo a512Mo incluso768Msi tu plan de hosting lo permite. - Guarda los cambios y recarga la tienda.
[TIP] En Plesk, esta configuración se encuentra normalmente en la pestaña "PHP" dentro de los ajustes del dominio. Es un menú desplegable con valores predefinidos.
Solución 4: Cambiar la Versión de PHP
PrestaShop 1.7 y 8.x funcionan mejor con PHP 7.2 o superior, pero no con las versiones más nuevas (como PHP 8.2) si usas módulos antiguos. La incompatibilidad es una causa frecuente de errores.
- En Plesk, ve a la sección "PHP Settings" de tu dominio.
- Busca el selector de "Versión de PHP".
- Prueba a cambiar a una versión anterior, por ejemplo, de PHP 8.0 a PHP 7.4.
- Guarda los cambios y comprueba si el error desaparece.
[INFO] La versión de PHP recomendada para la mayoría de las tiendas PrestaShop estables es la 7.4 o la 8.0, dependiendo de la versión de PrestaShop. Consulta la documentación oficial de tu versión.
Solución 5: Limpiar la Caché de PrestaShop Manualmente
A veces, la caché interna de PrestaShop se corrompe. No siempre podemos acceder al back-office, así que lo hacemos manualmente.
- Ve al "Administrador de archivos".
- Navega a la carpeta
var/cache(en PrestaShop 1.7 y 8.x) ocache(en versiones antiguas). - Dentro, verás subcarpetas como
dev,prodoclass_index.php. - Elimina todo el contenido de la carpeta
cache(pero no la carpeta en sí). Si no puedes borrarlos, intenta borrar solo los archivos más grandes o los que tengan extensión.php.
Solución 6: Verificar los Logs de Error de Plesk a Fondo
Si nada de lo anterior funciona, debemos ser detectives.
- Ve a Plesk > "Logs".
- Busca el log de errores de Apache más reciente. A veces se llama
error.log. - Busca la línea que contenga la hora exacta del error y observa la ruta del archivo que falla. Por ejemplo:
PHP Fatal error: Uncaught Error: Call to undefined function...en/var/www/vhosts/tudominio.com/httpdocs/modules/mimodulo/mimodulo.php. - Si el error apunta a un módulo específico, la solución es desactivarlo. Como no puedes acceder al back-office, tendrás que hacerlo manualmente.
Solución 7 (Avanzada): Desactivar un Módulo Problemático desde la Base de Datos
Si el log te dice que un módulo concreto está causando el error, esta es la forma de desactivarlo sin entrar al panel.
- Ve a Plesk y busca la sección de "Bases de datos".
- Abre phpMyAdmin para la base de datos de tu PrestaShop.
- Haz clic en la pestaña "SQL" para ejecutar una consulta.
- Escribe la siguiente consulta SQL (reemplaza
nombre_modulopor el nombre que aparece en el log):
UPDATE ps_modules SET active = 0 WHERE name = 'nombre_modulo';
- Ejecuta la consulta. Esto desactivará el módulo y deberías poder acceder a tu tienda para luego gestionarlo desde el back-office.
Preguntas Frecuentes (FAQ) sobre el Error 500 en PrestaShop
P: ¿Por qué veo el error 500 solo en la página de inicio pero no en el resto?
R: Esto es muy típico. Suele indicar un problema con un módulo específico que se carga solo en la home (como un slider) o un problema con la caché de esa página en concreto. Prueba a limpiar la caché y a desactivar los módulos de la home.
P: El error 500 apareció después de actualizar un módulo. ¿Qué hago?
R: Vuelve a la versión anterior del módulo. Si no tienes copia, contacta con el desarrollador del módulo. A menudo, las actualizaciones no son compatibles con tu versión de PrestaShop.
P: ¿Puede ser un problema de mi conexión a internet?
R: No. El error 500 es un error del servidor. Tu conexión funciona bien, pero el servidor no puede procesar la petición.
P: ¿Es lo mismo un error 500 que un error 503?
R: No. El 500 es un error interno del servidor. El 503 es "Servicio no disponible", que suele indicar que el servidor está en mantenimiento o sobrecargado. Las soluciones son diferentes.
P: Mi hosting usa Syspanel (antes HestiaCP). ¿Las soluciones son las mismas?
R: Los pasos son conceptualmente los mismos, pero la interfaz cambia. En Syspanel (puerto de acceso 2106), tendrás que buscar las secciones de "Administrador de archivos", "Configuración de PHP" y "Bases de datos" en su menú lateral. La lógica de permisos, .htaccess y caché es idéntica.
Conclusión Final: No Te Rindas
El prestashop plesk error puede ser frustrante, pero con paciencia y siguiendo estos pasos metódicamente, podrás resolverlo en la mayoría de los casos.
Resumen rápido de la solución:
- Activa el modo depurador para ver el error real.
- Corrige los permisos de archivos y carpetas (755 y 644).
- Aumenta el límite de memoria PHP a 512M.
- Regenera el archivo
.htaccess. - Prueba con una versión de PHP anterior.
- Limpia la caché de PrestaShop manualmente.
- Si todo falla, revisa los logs y desactiva el módulo problemático desde la base de datos.
Espero que esta guía te haya sido de gran ayuda. Si has llegado hasta aquí y el problema persiste, te recomiendo que contactes con tu proveedor de hosting, ya que puede haber un problema de configuración a nivel de servidor que solo ellos pueden ajustar.
¡Mucha suerte con tu tienda online!
