Solución a error 500 en PrestaShop con Plesk
¿Te ha aparecido la temida pantalla blanca con el mensaje "Error 500 – Internal Server Error" en tu tienda PrestaShop alojada en un servidor con Plesk? No te preocupes, es un problema muy común y, en la mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en programación.
En esta guía completa y paso a paso, te explicaré qué significa este error, por qué ocurre y, lo más importante, cómo solucionar el error 500 PrestaShop Plesk de forma definitiva. Sigue cada uno de los pasos con calma y verás cómo tu tienda vuelve a funcionar en pocos minutos.
¿Qué significa exactamente el "Error 500" en PrestaShop?
El error 500 es un código de estado HTTP genérico que indica que algo salió mal en el servidor, pero el servidor no puede ser más específico sobre la causa exacta. Es como si tu coche se parara y el panel de instrumentos solo dijera "fallo del motor", sin más detalles.
En el contexto de PrestaShop Plesk error, las causas más frecuentes suelen ser:
- Problemas de permisos de archivos o carpetas: PrestaShop necesita permisos específicos para leer y escribir archivos (por ejemplo, para generar caché, subir imágenes o modificar la configuración).
- Errores en el archivo .htaccess: Un archivo .htaccess corrupto o mal configurado puede provocar un error 500 al intentar cargar cualquier página.
- Límite de memoria PHP (memory_limit) insuficiente: Si tu tienda tiene muchos módulos, productos o tráfico, puede exceder el límite de memoria permitido por PHP.
- Versión de PHP incompatible: PrestaShop requiere una versión específica de PHP. Usar una versión demasiado antigua o demasiado nueva puede causar conflictos.
- Módulo o tema defectuoso: Un módulo recién instalado o un tema personalizado puede tener un error de código que provoque el fallo.
- Archivos corruptos durante una actualización: Si estabas actualizando PrestaShop o algún módulo, es posible que algún archivo se haya dañado.
Vamos a atacar cada una de estas posibles causas paso a paso.
Paso 1: Lo primero, activa el modo debug de PrestaShop (¡IMPORTANTE!)
Antes de empezar a tocar nada, necesitamos que PrestaShop nos dé más información. Por defecto, el error 500 es muy vago. Vamos a obligar a PrestaShop a mostrar el error real.
- Accede a tu panel de control Plesk.
- Ve a Archivos o Administrador de archivos y navega hasta la carpeta raíz de tu tienda PrestaShop (normalmente
httpdocsopublic_html). - Busca el archivo llamado
config/defines.inc.phpy ábrelo con el editor de texto de Plesk. - Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo.
Ahora, recarga tu tienda. En lugar de la pantalla blanca, deberías ver un mensaje de error mucho más descriptivo, como por ejemplo: "Fatal error: Allowed memory size of 134217728 bytes exhausted..." o "Parse error: syntax error, unexpected...". Este mensaje te dará la pista clave para solucionar error 500 PrestaShop.
[WARNING] No olvides, una vez resuelto el problema, volver a poner
define('_PS_MODE_DEV_', false);para que los errores no sean visibles para tus clientes.
Paso 2: Solucionar problemas de permisos de archivos y carpetas
Los permisos incorrectos son una de las causas más comunes del error 500 PrestaShop Plesk. Vamos a restablecerlos a los valores correctos.
- En Plesk, ve a Sitios web y dominios > selecciona tu dominio > Archivos.
- Selecciona la carpeta raíz de tu tienda (la que contiene las carpetas
admin,config,modules, etc.). - Haz clic en el botón Permisos (o Cambiar permisos).
- Aplica la siguiente configuración estándar para PrestaShop:
- Carpetas (directorios): 755 (rwxr-xr-x)
- Archivos (php, tpl, js, css, etc.): 644 (rw-r--r--)
- Archivos de configuración sensibles (settings.inc.php, defines.inc.php): 644 o incluso 444 (solo lectura)
- Marca la opción Aplicar a todos los subdirectorios y archivos (Recursivo).
- Haz clic en Aceptar.
[TIP] Si no encuentras la opción recursiva en Plesk, puedes hacerlo por SSH (si tienes acceso) con el comando:
find /ruta/a/tu/tienda -type d -exec chmod 755 {} \;yfind /ruta/a/tu/tienda -type f -exec chmod 644 {} \;. Pero si no sabes qué es SSH, quédate con el método de Plesk.
Paso 3: Regenerar o desactivar el archivo .htaccess
Un archivo .htaccess dañado o con reglas incorrectas es un clásico. Vamos a eliminarlo temporalmente para ver si el problema desaparece.
- En el Administrador de archivos de Plesk, busca el archivo
.htaccessen la raíz de tu tienda. (Puede que esté oculto; activa la opción "Mostrar archivos ocultos" en Plesk). - No lo borres aún. Simplemente, renómbralo a algo como
.htaccess_oldo.htaccess.bak. Esto lo desactivará. - Recarga tu tienda.
Si el error 500 desaparece, el problema estaba en el .htaccess. Ahora, desde el panel de administración de PrestaShop (si puedes acceder), ve a Configuración avanzada > Rendimiento y haz clic en el botón Regenerar el archivo .htaccess. Si no puedes acceder al panel, crea uno nuevo manualmente con el contenido básico de PrestaShop (puedes copiarlo de una instalación limpia o generarlo con herramientas online).
Si renombrar el .htaccess no soluciona nada, vuelve a ponerle su nombre original.
Paso 4: Aumentar el límite de memoria PHP (memory_limit)
Si el mensaje de error que viste en el Paso 1 decía algo como "Allowed memory size exhausted", este es tu problema.
- En Plesk, ve a Sitios web y dominios > selecciona tu dominio.
- Busca la sección Configuración de PHP o PHP Settings.
- Busca el parámetro memory_limit.
- Auméntalo a un valor más alto. Te recomiendo empezar con 256M (256 Megabytes) o incluso 512M si tu tienda es grande.
- Guarda los cambios y recarga la tienda.
[INFO] Si no encuentras la opción en Plesk, puedes intentar creando un archivo
php.inien la raíz de tu tienda con la línea:memory_limit = 256M. O, si tu hosting lo permite, añade esta línea al archivo.htaccess:php_value memory_limit 256M.
Paso 5: Verificar la versión de PHP
PrestaShop es exigente con la versión de PHP. Cada versión de PrestaShop tiene sus requisitos.
- En Plesk, ve a Sitios web y dominios > Configuración de PHP.
- Verás un desplegable para seleccionar la Versión de PHP.
- Consulta la documentación de tu versión de PrestaShop para saber cuál es la versión de PHP recomendada. Por ejemplo:
- PrestaShop 1.7.x: PHP 7.1, 7.2, 7.3, 7.4 (PHP 8.0+ puede dar problemas).
- PrestaShop 8.x: PHP 7.4, 8.0, 8.1.
- Si tienes una versión incompatible, cámbiala a una recomendada y guarda los cambios.
Paso 6: Desactivar módulos y temas sospechosos
A veces, un módulo o tema recién instalado es el culpable. Como no podemos acceder al panel de administración, tendremos que hacerlo manualmente.
- En el Administrador de archivos de Plesk, navega a la carpeta
modulesdentro de tu tienda. - Renombra la carpeta del módulo que instalaste recientemente añadiendo
_oldal final (por ejemplo,mimodulo->mimodulo_old). Esto desactivará el módulo. - Recarga la tienda. Si el error desaparece, ¡ya sabes quién es el culpable!
- Repite el proceso con otros módulos o con la carpeta
themes(renombra la carpeta de tu tema activo por una copia de seguridad del tema por defecto, por ejemplo,classic).
Paso 7 (Avanzado): Revisar los logs del servidor en Plesk
Si nada de lo anterior funciona, tenemos que ir a la fuente de la verdad: los logs del servidor.
- En Plesk, ve a Sitios web y dominios > selecciona tu dominio.
- Busca la sección Logs o Registros.
- Abre el archivo
error_log(o similar). Este archivo contiene todos los errores del servidor, incluyendo el detalle del error 500. - Busca la línea correspondiente a la fecha y hora en que ocurrió el error. El mensaje suele ser muy descriptivo (ej: "PHP Fatal error: Uncaught Error: Call to undefined function...").
- Con ese mensaje, ya podrás buscar una solución específica en Google o en los foros de PrestaShop.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop con Plesk
P: ¿El error 500 puede deberse a un problema de mi hosting?
R: Sí, aunque es menos común. Un servidor sobrecargado, un corte de luz o una mala configuración del servidor web (Apache/Nginx) por parte del proveedor de hosting también pueden provocarlo. Si después de seguir todos los pasos el error persiste, contacta con el soporte técnico de tu hosting.
P: He seguido todos los pasos y sigo viendo el error 500. ¿Qué hago?
R: No te desesperes. A veces la solución es más específica. Revisa de nuevo el error con el modo debug activado (Paso 1) y busca ese mensaje exacto en Google junto con "PrestaShop" y "Plesk". También puedes restaurar una copia de seguridad completa de tu tienda (archivos y base de datos) de antes de que apareciera el error.
P: ¿Es seguro activar el modo debug en una tienda en producción?
R: No, no lo es. El modo debug muestra información sensible del servidor a cualquier visitante. Actívalo solo durante unos minutos para diagnosticar el problema y desactívalo inmediatamente después de solucionarlo.
P: ¿Puedo solucionar el error 500 desde el panel de administración de Plesk sin entrar por FTP?
R: Sí, absolutamente. Todo lo que hemos explicado en esta guía se puede hacer desde el Administrador de archivos y la Configuración de PHP de Plesk. No necesitas un cliente FTP.
P: ¿Qué relación tiene Syspanel (HestiaCP) con esto?
R: Si tu servidor usa Syspanel (el nombre comercial de HestiaCP), el proceso es muy similar. Accederías a Syspanel a través del puerto 2106 (ej: tudominio.com:2106) y luego buscarías las opciones de "Administrador de archivos" y "Configuración de PHP". Los pasos para solucionar error 500 PrestaShop son los mismos: permisos, .htaccess, memoria PHP, versión PHP, etc.
Espero que esta guía detallada te haya sido de gran ayuda. Recuerda que la paciencia y el método son clave. Ve paso a paso, sin prisas, y seguro que encuentras la solución. ¡Tu tienda PrestaShop volverá a estar online en poco tiempo!
