Solucionar error 500 en PrestaShop con Plesk
¡Hola! Soy el técnico de soporte amigable que te va a ayudar a resolver ese molesto error 500 en PrestaShop con Plesk. No te preocupes, es un problema común y, aunque suena a algo grave, en la mayoría de los casos se soluciona con unos pasos sencillos. Vamos a ir paso a paso, como si estuviéramos viendo la pantalla juntos.
¿Qué es exactamente el error 500 en PrestaShop?
El error 500 es un código de estado HTTP que significa "Error Interno del Servidor". En términos sencillos, es como si tu tienda PrestaShop le dijera al navegador: "Algo salió mal, pero no sé exactamente qué". No te da detalles, lo que lo hace frustrante. Las causas pueden ser muchas, pero las más comunes en un entorno con Plesk son:
- Problemas de permisos de archivos y carpetas: Es la causa más frecuente. PrestaShop necesita permisos específicos para leer, escribir y ejecutar archivos.
- Un módulo o tema defectuoso: Puede que una mala instalación o actualización de un módulo o tema esté causando un conflicto.
- Límite de memoria PHP agotado: Si tu tienda tiene muchos productos o módulos pesados, puede agotar la memoria máxima permitida por PHP.
- Archivo
.htaccesscorrupto: Este archivo es crucial para las URLs amigables de PrestaShop. Si está dañado, todo falla. - Versión de PHP incompatible: PrestaShop requiere una versión de PHP específica. Si tu servidor usa una versión muy antigua o muy nueva, puede dar error 500.
- Errores en el archivo
config/defines.inc.php: A veces, al activar el modo de depuración, se puede modificar este archivo y causar problemas.
Lo primero: Activar el modo de depuración de PrestaShop
Antes de empezar a tocar archivos, necesitamos que PrestaShop nos dé más pistas. El error 500 es muy genérico, pero si activamos el modo de depuración, la tienda nos mostrará el error real. Es como pasar de una linterna a un foco.
Paso a paso para activar el modo de depuración
-
Accede a tu panel de Plesk y luego al Administrador de Archivos de tu dominio.
-
Busca la carpeta raíz donde está instalado PrestaShop (normalmente
httpdocsopublic_html). -
Dentro de esa carpeta, busca el archivo llamado
config/defines.inc.php. -
Ábrelo con el editor de texto de Plesk (suele tener un botón "Editar en el editor de texto").
-
Busca la siguiente línea:
define('_PS_MODE_DEV_', false); -
Cámbiala por:
define('_PS_MODE_DEV_', true); -
Importante: Justo debajo de esa línea, añade esta otra:
define('_PS_DISPLAY_COMPRESSION_', true); -
Guarda los cambios.
[WARNING] ¡Cuidado! Activar el modo de depuración mostrará errores en tu tienda. Esto es normal y es lo que queremos para identificar el problema. No te asustes. Una vez que lo hayas solucionado, debes volver a poner false en ambas líneas.
Ahora, recarga tu tienda. En lugar del error 500 genérico, verás un mensaje de error más específico, como por ejemplo:
Fatal error: Allowed memory size of X bytes exhausted(Problema de memoria PHP).Parse error: syntax error, unexpected...(Error en un archivo de un módulo/tema).Fatal error: Class 'X' not found(Error de clase, típico de módulos).
Anota ese mensaje. Es la clave para el siguiente paso.
Soluciones según el tipo de error que veas
Ahora que tienes el mensaje de error real, podemos atacar el problema con precisión. Aquí tienes las soluciones más comunes.
Si el error es de memoria PHP ("Allowed memory size exhausted")
Este es uno de los más comunes. Significa que tu tienda necesita más memoria de la que PHP le permite usar.
Solución: Aumentar el límite de memoria PHP desde Plesk
- En tu panel de Plesk, ve a Herramientas y Configuración (o directamente en los ajustes del dominio).
- Busca la opción Configuración de PHP (puede estar dentro de "Servicios" o "Hosting y DNS").
- Busca el parámetro
memory_limit. - Auméntalo. Un valor seguro es 256M o incluso 512M si tu tienda es muy grande. Puedes probar con 128M primero.
- Guarda los cambios y recarga la tienda.
[INFO] Si no encuentras la opción, es posible que tu plan de hosting no te permita modificarlo. En ese caso, contacta con tu proveedor de hosting y pídeles que aumenten el límite de memoria PHP.
Si el error es de un módulo o tema ("syntax error", "Class not found")
El mensaje de error te dirá exactamente en qué archivo está el problema. Normalmente es un archivo dentro de la carpeta modules o themes.
Solución: Desactivar o eliminar el módulo/tema problemático
- Accede a tu panel de Plesk y al Administrador de Archivos.
- Navega hasta la carpeta
modulesothemesde tu PrestaShop. - Busca la carpeta del módulo o tema que menciona el error. Si no estás seguro, busca el nombre del archivo que aparece en el error.
- No lo borres aún. Lo mejor es renombrar la carpeta para desactivarlo. Por ejemplo, si la carpeta se llama
micromodulo, cámbiala amicromodulo_desactivado. - Recarga tu tienda. Si el error desaparece, has encontrado al culpable.
- Ahora puedes decidir si lo eliminas definitivamente o si contactas al desarrollador para solucionarlo.
[WARNING] Renombrar la carpeta es una forma segura de desactivar el módulo sin perder sus datos. Si lo borras, perderás toda la configuración asociada a ese módulo.
Si el error persiste o no ves un mensaje claro: Revisar el archivo .htaccess
A veces, el modo de depuración no muestra nada y el error 500 sigue ahí. En ese caso, el archivo .htaccess suele ser el culpable.
Solución: Regenerar el archivo .htaccess
- Desde el Administrador de Archivos de Plesk, localiza el archivo
.htaccessen la raíz de tu PrestaShop. - No lo edites. Lo mejor es renombrarlo a algo como
.htaccess_oldo.htaccess.bak. - Recarga tu tienda. Si el error desaparece, el
.htaccessestaba dañado. - Ahora, entra al panel de administración de PrestaShop (si puedes acceder).
- Ve a Configuración de la tienda → Tráfico y SEO → URLs amigables.
- Sin hacer ningún cambio, haz clic en Guardar. Esto regenerará el archivo
.htaccessautomáticamente. - Vuelve a recargar tu tienda. Todo debería funcionar.
[TIP] Si no puedes acceder al panel de administración, puedes crear un archivo .htaccess nuevo y vacío desde Plesk. Luego, desde el panel de administración (cuando puedas acceder), regenéralo como te he indicado.
Si el error es por permisos de archivos
PrestaShop necesita permisos específicos para funcionar. Los más comunes son:
- Archivos: 644
- Carpetas: 755
Solución: Corregir permisos desde Plesk
- En el Administrador de Archivos de Plesk, selecciona toda la carpeta de tu PrestaShop (por ejemplo,
httpdocs). - Haz clic en el botón Permisos (o "Cambiar permisos").
- Marca las opciones:
- Propietario: Lectura y Escritura.
- Grupo: Lectura (a veces también Escritura, depende de la configuración del servidor).
- Público: Lectura.
- Marca la casilla Aplicar a subdirectorios y Aplicar a archivos.
- Haz clic en Aceptar.
Esto establecerá los permisos estándar. Si el error era por esto, debería solucionarse.
¿Y si nada de esto funciona? (Preguntas Frecuentes - FAQ)
A veces, el problema es más específico. Aquí tienes algunas preguntas frecuentes que pueden ayudarte.
No puedo acceder al panel de administración de PrestaShop
Si el error 500 te bloquea también el acceso al panel de administración, no desesperes. Puedes intentar:
- Acceder directamente a la carpeta
admin: A veces el error solo afecta a la parte pública. Prueba a ir atudominio.com/nombre-de-tu-carpeta-admin(si no la has cambiado, suele seradmin1234o similar). - Desactivar módulos manualmente: Como te expliqué antes, renombra las carpetas de los módulos en la carpeta
moduleshasta que encuentres el culpable. - Restaurar una copia de seguridad: Si tienes una copia de seguridad reciente de tu tienda (archivos y base de datos), este es el momento de usarla. Plesk suele tener una herramienta de backup.
El error 500 aparece solo en algunas páginas
Esto suele indicar un problema con un módulo o tema específico que se carga en esas páginas. El modo de depuración te dará la pista exacta. Sigue los pasos para desactivar el módulo problemático.
He actualizado PrestaShop y ahora tengo el error 500
Las actualizaciones pueden romper módulos o temas incompatibles. La solución más rápida es:
- Desactivar todos los módulos no nativos de PrestaShop (los que no vienen por defecto).
- Cambiar temporalmente al tema por defecto de PrestaShop (por ejemplo, "Classic").
- Si el error desaparece, el problema es un módulo o tema desactualizado. Actualízalos o contacta al desarrollador.
Mi servidor usa "Syspanel" (HestiaCP) en lugar de Plesk, ¿cómo lo hago?
[INFO] Si tu proveedor de hosting usa Syspanel (nombre comercial de HestiaCP), el proceso es muy similar. Para acceder a tu panel de control, usa la URL tudominio.com:2106. Una vez dentro, busca las opciones de "Administrador de Archivos" y "Configuración de PHP". Los pasos para activar el modo de depuración, cambiar permisos y regenerar el .htaccess son exactamente los mismos que en Plesk.
Conclusión: No te rindas, el error 500 tiene solución
El error 500 en PrestaShop puede ser frustrante, pero con un enfoque metódico y las herramientas adecuadas, casi siempre se soluciona. Recuerda:
- Activa el modo de depuración para obtener un mensaje de error específico.
- Identifica la causa: memoria PHP, módulo,
.htaccesso permisos. - Aplica la solución correspondiente siguiendo los pasos que te he dado.
- No olvides desactivar el modo de depuración una vez que hayas solucionado el error.
Si después de todo esto el error persiste, te recomiendo que contactes con el soporte técnico de tu hosting. Diles el mensaje de error exacto que viste al activar el modo de depuración. Ellos tendrán acceso a los logs del servidor y podrán ayudarte a encontrar la causa raíz.
¡Espero que este artículo te haya sido de gran ayuda! Recuerda que la paciencia es la clave. Un saludo y mucho éxito con tu tienda.
