Cómo solucionar el error 'Fatal error: Class not found' en PrestaShop con Plesk
¿Qué significa “Fatal error: Class not found” en PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de error bastante intimidante en tu tienda online. Ver algo como “Fatal error: Class not found” en la pantalla de PrestaShop puede asustar, pero no te preocupes: es uno de los errores más comunes y, en la mayoría de los casos, tiene solución en pocos minutos.
Este error indica que PrestaShop está intentando cargar una clase (un archivo PHP con funciones específicas) y no la encuentra en la ruta esperada. Es como si intentaras abrir una puerta de tu casa con una llave que no existe: el sistema sabe que la puerta está ahí, pero no tiene el mecanismo para abrirla.
En este artículo, voy a guiarte paso a paso para solucionar el error class not found prestashop cuando tu tienda está alojada en un servidor con Plesk. Vamos a desglosar las causas más frecuentes y las soluciones prácticas, desde las más simples hasta las más avanzadas, para que no te quedes bloqueado.
Causas más comunes del error “Class not found” en PrestaShop
Antes de lanzarnos a solucionar el error, es importante entender por qué ocurre. Conocer la causa te ayudará a aplicar la solución correcta y evitar que vuelva a suceder.
1. Archivos de caché corruptos o desactualizados
PrestaShop utiliza un sistema de caché para acelerar la carga de tu tienda. Si los archivos de caché están corruptos o desactualizados, pueden estar intentando cargar clases que ya no existen o que han sido movidas.
2. Módulos incompatibles o mal instalados
Un módulo recién instalado o actualizado puede estar haciendo referencia a una clase que no existe o que tiene un nombre incorrecto. Esto es especialmente común cuando se instalan módulos de terceros.
3. Actualizaciones incompletas de PrestaShop
Si has actualizado tu versión de PrestaShop y algo salió mal durante el proceso, es posible que algunos archivos de clases no se hayan copiado correctamente o que las versiones antiguas estén causando conflictos.
4. Permisos de archivos incorrectos
En un servidor con Plesk, los permisos de archivos y carpetas son cruciales. Si los archivos PHP no tienen los permisos adecuados, el servidor no podrá leerlos y, por tanto, no encontrará las clases.
5. Rutas de archivos incorrectas
A veces, después de mover la tienda a un nuevo dominio o subdominio, las rutas absolutas en los archivos de configuración quedan desactualizadas y apuntan a ubicaciones incorrectas.
Soluciones paso a paso para el error “Class not found” en PrestaShop con Plesk
Ahora sí, vamos a lo que te interesa: cómo solucionar el fatal error prestashop plesk. Sigue estos pasos en orden, ya que van de lo más simple a lo más complejo.
Solución 1: Limpiar la caché de PrestaShop
Esta es la primera solución que debes probar, ya que es la más sencilla y resuelve el problema en muchos casos.
a) Desde el panel de administración de PrestaShop
- Accede a tu panel de administración de PrestaShop (
/admin123o la ruta que hayas configurado). - Ve al menú Parámetros avanzados → Rendimiento.
- En la sección Caché, selecciona la opción No (para desactivarla o forzar su limpieza).
- Guarda los cambios. Esto debería forzar la regeneración de la caché.
- Vuelve a tu tienda y comprueba si el error ha desaparecido.
b) Limpiar la caché manualmente desde Plesk
Si no puedes acceder al panel de administración porque el error te bloquea, tendrás que limpiar la caché manualmente:
- Accede a Plesk → Administrador de archivos o a través de FTP (FileZilla o similar).
- Navega hasta la raíz de tu instalación de PrestaShop.
- Entra en la carpeta
/var/cachey borra todo el contenido de las carpetasdevyprod(dentro de ellas debería haber subcarpetas comocache,profiles, etc.). - También puedes borrar la carpeta
/var/cachecompleta si no te deja borrar solo el contenido, pero asegúrate de que se vuelva a crear automáticamente.
[WARNING] No borres el archivo
.htaccessde la raíz, ni la carpetaconfigovendor, ya que son esenciales para el funcionamiento de PrestaShop.
Solución 2: Verificar los permisos de archivos y carpetas
Los permisos incorrectos son una causa frecuente de este error, especialmente en servidores con Plesk.
Cómo comprobar y corregir permisos
- En Plesk, ve a Administrador de archivos.
- Navega a la raíz de tu PrestaShop.
- Selecciona todos los archivos y carpetas (Ctrl+A o Cmd+A).
- Haz clic en Permisos o Cambiar permisos (dependiendo de la versión de Plesk).
- Establece los siguientes permisos:
- Archivos: 644
- Carpetas: 755
- Aplica los cambios.
[TIP] Si no ves la opción de cambiar permisos en el Administrador de archivos de Plesk, puedes hacerlo vía FTP con FileZilla. Selecciona todos los archivos y carpetas, haz clic derecho y elige “Permisos de archivos”. Para carpetas usa 755 y para archivos 644.
Solución 3: Desactivar módulos problemáticos
Si el error apareció después de instalar o actualizar un módulo, es muy probable que el módulo sea el culpable.
a) Desactivar módulos desde el panel de administración
- Accede a tu panel de administración.
- Ve a Módulos → Módulos y servicios.
- Busca el módulo sospechoso (el que instalaste o actualizaste recientemente).
- Desactívalo haciendo clic en el botón correspondiente.
b) Desactivar módulos manualmente si no puedes acceder al panel
Si el error te impide entrar al panel, puedes desactivar los módulos editando la base de datos:
- Accede a Plesk → Bases de datos → phpMyAdmin (o la herramienta que uses).
- Selecciona la base de datos de tu PrestaShop.
- Busca la tabla
ps_module(el prefijo puede variar si lo cambiaste). - Ejecuta la siguiente consulta SQL para desactivar todos los módulos de terceros:
UPDATE ps_module SET active = 0 WHERE id_module > 100;
[INFO] El número
100es un valor orientativo. Los módulos oficiales de PrestaShop suelen tener IDs por debajo de 100, mientras que los de terceros suelen estar por encima. Si tienes dudas, puedes desactivar solo los módulos que instalaste recientemente localizando sus nombres en la tabla.
- Una vez hecho esto, recarga tu tienda. Si el error desaparece, el problema era un módulo. Actívalos uno a uno para identificar al culpable.
Solución 4: Restaurar archivos de una copia de seguridad
Si las soluciones anteriores no funcionan, es posible que tengas archivos dañados o faltantes. En este caso, la solución más efectiva es restaurar los archivos desde una copia de seguridad reciente.
Pasos para restaurar desde Plesk
- Ve a Plesk → Administrador de archivos.
- Navega a la raíz de tu PrestaShop.
- Sube la copia de seguridad de los archivos que tengas (si la tienes comprimida en
.zipo.tar.gz). - Descomprímela, sobrescribiendo los archivos existentes.
[WARNING] Asegúrate de hacer una copia de seguridad de tus archivos actuales antes de sobrescribir, especialmente de la carpeta
/configy el archivo/config/settings.inc.php, ya que contienen la configuración de conexión a la base de datos.
Si no tienes copia de seguridad de archivos
No te desesperes. Puedes descargar la versión exacta de PrestaShop que estás usando desde prestashop-project.org y reemplazar solo las carpetas /classes, /controllers y /vendor (sin tocar /config ni /img). Esto restaurará las clases que puedan estar dañadas.
Solución 5: Revisar las rutas en la configuración
A veces, después de mover la tienda de un directorio a otro, las rutas quedan desactualizadas.
Cómo corregir las rutas
- Accede a Plesk → Administrador de archivos.
- Busca el archivo
/config/settings.inc.phpen la raíz de tu PrestaShop. - Edítalo y revisa las siguientes constantes:
define('_PS_BASE_URL_', 'https://tudominio.com');
define('_PS_BASE_URL_SSL_', 'https://tudominio.com');
define('_PS_ROOT_DIR_', '/var/www/vhosts/tudominio.com/httpdocs');
- Asegúrate de que las URLs y la ruta del servidor sean correctas.
[TIP] Si no estás seguro de la ruta correcta, puedes crearla temporalmente. En Plesk, la ruta suele ser
/var/www/vhosts/tudominio.com/httpdocso/var/www/vhosts/tudominio.com/subdominio/httpdocssi estás en un subdominio.
Solución 6: Actualizar o reinstalar PrestaShop
Si todo lo anterior falla, es posible que necesites una actualización o reinstalación más profunda.
Actualización de PrestaShop
- Descarga la última versión de PrestaShop desde el sitio oficial.
- Sube los archivos a tu servidor mediante FTP o el Administrador de archivos de Plesk.
- Sobrescribe los archivos existentes (excepto
/configy/img). - Accede a
/install/upgradeen tu navegador para completar la actualización.
Reinstalación completa (último recurso)
Si tienes una tienda pequeña y no puedes solucionar el error de otra forma, puede ser más rápido reinstalar PrestaShop desde cero y restaurar la base de datos.
- Haz una copia de seguridad de tu base de datos desde Plesk → Bases de datos → Exportar.
- Borra todos los archivos de la raíz de tu PrestaShop.
- Instala una nueva copia de PrestaShop desde el instalador de Plesk (si tienes la opción) o subiendo los archivos manualmente.
- Una vez instalada, importa tu base de datos de respaldo desde Plesk → Bases de datos → Importar.
Preguntas frecuentes (FAQ) sobre el error “Class not found” en PrestaShop
¿Puedo solucionar este error sin acceso al panel de administración?
Sí, todas las soluciones que te he mostrado se pueden realizar desde Plesk o FTP, sin necesidad de acceder al panel de administración.
¿Qué debo hacer si el error aparece después de una actualización de Plesk?
Las actualizaciones de Plesk pueden cambiar los permisos de los archivos o la configuración de PHP. Revisa los permisos (Solución 2) y la versión de PHP en Plesk → Configuración de PHP para asegurarte de que es compatible con tu versión de PrestaShop.
¿El error puede deberse a un problema con la base de datos?
Es poco probable, pero posible. Si las soluciones de archivos no funcionan, prueba a reparar las tablas de la base de datos desde phpMyAdmin. Selecciona todas las tablas y elige “Reparar”. También puedes verificar que los datos de conexión en /config/settings.inc.php son correctos.
¿Cuánto tiempo tarda en resolverse este error?
Depende de la causa. Si es un problema de caché, se resuelve en 5 minutos. Si es un módulo conflictivo, puede llevarte 30-60 minutos identificar al culpable. Si necesitas restaurar desde una copia de seguridad, puede tardar 1-2 horas.
¿Debo contactar con mi proveedor de hosting?
Si has probado todas las soluciones y el error persiste, puede ser un problema del servidor. Contacta con tu proveedor de hosting y explícales el error “Fatal error: Class not found” en PrestaShop. Ellos podrán revisar los logs del servidor y verificar la configuración de PHP.
Consejos finales para evitar este error en el futuro
Una vez que hayas solucionado el error prestashop, te recomiendo tomar estas precauciones para evitar que vuelva a ocurrir:
- Haz copias de seguridad periódicas: Tanto de archivos como de la base de datos. Plesk tiene herramientas automáticas de backup que puedes configurar.
- Mantén PrestaShop actualizado: Las actualizaciones corrigen errores y mejoran la compatibilidad con las últimas versiones de PHP.
- Instala módulos solo de fuentes confiables: Los módulos de terceros son la causa más común de este error. Descarga solo de la tienda oficial de PrestaShop o de desarrolladores reconocidos.
- Revisa los logs del servidor: En Plesk, puedes acceder a los logs de errores en Logs → Registro de errores. Esto te ayudará a identificar el problema antes de que se convierta en un error fatal.
- Utiliza un entorno de pruebas: Si tienes un sitio de pruebas, prueba las actualizaciones y módulos allí antes de aplicarlos a tu tienda en producción.
Resumen
El error “Fatal error: Class not found” en PrestaShop con Plesk puede parecer abrumador, pero con las soluciones que te he mostrado, podrás resolverlo sin necesidad de ser un experto en programación. Recuerda seguir los pasos en orden: primero limpia la caché, luego revisa los permisos, después desactiva módulos, y si nada funciona, restaura desde una copia de seguridad o actualiza PrestaShop.
La clave está en la paciencia y en trabajar de forma metódica. No te saltes pasos y, sobre todo, haz siempre una copia de seguridad antes de modificar nada. Con estas herramientas, tu tienda volverá a funcionar en poco tiempo.
[INFO] Si después de todos estos pasos el error persiste, puede ser un problema más profundo del servidor. En ese caso, contacta con tu proveedor de hosting y comparte este artículo con ellos para que entiendan el contexto del error. Ellos podrán revisar la configuración de PHP-FPM, los permisos de los pools de PHP o cualquier otro ajuste específico de Plesk que pueda estar causando el problema.
Espero que este artículo te haya sido de gran ayuda. ¡Mucha suerte con tu tienda y no dudes en volver si necesitas más ayuda!
