C贸mo resolver el error 'Fatal error: Class 'PrestaShopException' not found'
驴Qu茅 significa este error y por qu茅 aparece?
Si est谩s leyendo esto, es muy probable que hayas visto en la pantalla de tu tienda online un mensaje similar a este: Fatal error: Class 'PrestaShopException' not found. No te preocupes, no es el fin del mundo y, sobre todo, tiene soluci贸n. Este error es uno de los m谩s comunes en tiendas PrestaShop y suele aparecer de repente, a veces despu茅s de una actualizaci贸n, al instalar un m贸dulo, o incluso sin haber tocado nada.
Para entenderlo f谩cilmente, imagina que tu tienda PrestaShop es una gran biblioteca. Cada libro (archivo) tiene un lugar exacto y una funci贸n. La clase PrestaShopException es como el libro de "gesti贸n de errores", el que le dice a la biblioteca c贸mo avisar cuando algo falla. Si ese libro desaparece de su estanter铆a o se cambia de sitio, la biblioteca no sabe c贸mo avisar de que hay un problema y entra en p谩nico, mostrando el error fatal.
Las causas m谩s habituales de este problema son:
- Actualizaciones incompletas o fallidas: El proceso de actualizaci贸n de PrestaShop (de una versi贸n a otra) se interrumpi贸 a mitad de camino, dejando archivos nuevos y viejos mezclados.
- M贸dulos o temas incompatibles: Instalaste un m贸dulo o plantilla que no es compatible con tu versi贸n de PrestaShop y ha sobrescrito o da帽ado archivos del n煤cleo.
- Subida de archivos incompleta: Al subir archivos por FTP, la conexi贸n se cort贸 y un archivo importante se subi贸 a medias o no se subi贸.
- Permisos de archivos incorrectos: Los archivos de tu servidor tienen permisos que impiden que PHP los lea correctamente.
- Cache corrupta: La cach茅 de PrestaShop guarda "copias" de las clases para ir m谩s r谩pido. Si esa copia est谩 da帽ada, puede dar este error.
A continuaci贸n, te guiar茅 paso a paso, de lo m谩s simple a lo m谩s complejo, para que puedas solucionar el error PrestaShopException y devolverle la vida a tu tienda.
Paso 1: Identifica tu versi贸n exacta de PrestaShop
Antes de hacer nada, necesitas saber qu茅 versi贸n de PrestaShop est谩s usando. Esto es crucial, porque los archivos que necesitas descargar dependen de ello.
驴C贸mo saber mi versi贸n?
- Entra al panel de administraci贸n de tu tienda (normalmente en
tudominio.com/admin). - Si puedes entrar, mira la parte inferior del panel o la p谩gina de inicio. Suele indicar "Versi贸n: 1.6.x.x", "1.7.x.x" o "8.x.x".
- Si no puedes entrar al panel, no te preocupes. Puedes verlo en el archivo
config/settings.inc.php(para versiones 1.6) o en el archivoapp/config/parameters.php(para versiones 1.7 y 8). 脕brelos con el bloc de notas desde el administrador de archivos de tu hosting y busca la l铆nea_PS_VERSION_oversion.
[INFO] Si no tienes acceso a un administrador de archivos, puedes usar un cliente FTP como FileZilla para conectarte a tu hosting y ver los archivos.
Paso 2: Soluciones r谩pidas y sencillas (pru茅balas primero)
Muchas veces, el error se soluciona con acciones simples que no requieren conocimientos avanzados. Vamos a por ellas.
2.1. Borra la cach茅 de PrestaShop
La cach茅 es un archivo que guarda informaci贸n para acelerar la web. Si est谩 da帽ada, puede provocar este error.
- Conecta a tu hosting por FTP o usa el Administrador de Archivos de tu panel de hosting.
- Ve a la carpeta ra铆z de tu tienda (donde est谩n las carpetas
admin,classes,config, etc.). - Busca la carpeta
var/cache(en PrestaShop 1.7 y 8) o la carpetacache(en PrestaShop 1.6). - Entra en ella y borra todo el contenido de las carpetas
devyprod(ocache/classycache/smartyen 1.6). No borres las carpetas en s铆, solo su interior.
[TIP] Si no ves la carpeta
var/cache, activa la opci贸n "Mostrar archivos ocultos" en tu cliente FTP o administrador de archivos.
2.2. Desactiva el modo "Forzar compilaci贸n" y la cach茅
A veces, el archivo de configuraci贸n tiene activada una opci贸n que fuerza a la web a regenerar todo, lo que puede chocar con el error.
- Ve a la carpeta ra铆z y busca el archivo
config/defines.inc.php. - 脕brelo con un editor de texto plano (como el Bloc de notas).
- Busca la l铆nea que dice
define('_PS_MODE_DEV_', true);y c谩mbiala pordefine('_PS_MODE_DEV_', false);. - Guarda el archivo y vuelve a cargar tu tienda.
[WARNING] Si despu茅s de esto la web carga pero muestra errores en pantalla, es que el modo dev est谩 activado. Es normal, lo desactivamos para que no muestre los errores internos, pero es importante que sigas con los siguientes pasos para resolver la causa ra铆z.
Paso 3: Restaurar el archivo da帽ado (la soluci贸n m谩s efectiva)
Si los pasos anteriores no funcionaron, lo m谩s probable es que un archivo del n煤cleo de PrestaShop est茅 da帽ado, incompleto o haya sido sobrescrito por un m贸dulo. La soluci贸n es reemplazarlo por el archivo original de tu versi贸n.
3.1. Descarga una copia limpia de PrestaShop
- Ve al sitio oficial de PrestaShop (prestashop-project.org) o a la secci贸n de descargas de tu versi贸n espec铆fica.
- Descarga el paquete completo de la versi贸n exacta que tienes en tu tienda (por ejemplo, 1.7.8.10 o 8.1.5). Es importante que sea la misma versi贸n y no una superior o inferior.
- Descomprime el archivo
.zipen tu ordenador.
3.2. Sube el archivo correcto por FTP
El error menciona la clase PrestaShopException. Esta clase se define en el archivo classes/exception/PrestaShopException.php.
- En la copia que descargaste, navega a la carpeta
classes/exception/. - Localiza el archivo
PrestaShopException.php. - Con tu cliente FTP, sube este archivo a tu servidor, en la ruta
tudominio.com/classes/exception/. Cuando te pregunte si quieres sobrescribir el archivo existente, dile que s铆.
[INFO] Si el error mencionara otra clase (por ejemplo,
PrestaShopLogger), deber铆as hacer lo mismo, pero con el archivo correspondiente. El procedimiento es id茅ntico.
3.3. Sube los archivos de la carpeta classes completa (si el error persiste)
A veces, el problema no es solo un archivo, sino varios. Si el paso anterior no funciona, te recomiendo subir la carpeta classes completa.
- En tu ordenador, ve a la carpeta
classesde la copia descargada. - Selecciona todos los archivos y carpetas que hay dentro.
- S煤belos por FTP a la carpeta
classesde tu servidor, sobrescribiendo todos los archivos existentes.
[WARNING] Este proceso puede tardar un poco, dependiendo de tu conexi贸n. Aseg煤rate de no cerrar el FTP hasta que termine. Si la conexi贸n se corta, el archivo que se est茅 subiendo en ese momento quedar谩 corrupto y tendr谩s que repetir el proceso.
Paso 4: Desinstala o desactiva m贸dulos y temas problem谩ticos
Si el error empez贸 justo despu茅s de instalar algo, es muy probable que ese m贸dulo o tema sea el culpable. A veces, un m贸dulo mal codificado puede sobrescribir archivos del n煤cleo.
4.1. Renombra la carpeta del m贸dulo (si no puedes entrar al admin)
Si no tienes acceso al panel de administraci贸n, puedes desactivar el m贸dulo manualmente.
- Entra por FTP a la carpeta
modules/. - Busca la carpeta del m贸dulo que instalaste recientemente (o el que sospeches que puede ser el problema).
- Renombra la carpeta, por ejemplo, de
mimoduloamimodulo_BACKUP. Al cambiar el nombre, PrestaShop no lo reconocer谩 y lo desactivar谩 autom谩ticamente.
4.2. Cambia temporalmente de tema
Si el problema es del tema, puedes cambiarlo desde la base de datos o renombrando la carpeta del tema.
- Ve a la carpeta
themes/. - Renombra la carpeta del tema que est谩s usando (por ejemplo,
classicaclassic_BACKUP). - PrestaShop intentar谩 cargar el tema por defecto. Si no lo encuentra, puede dar otro error, pero al menos sabremos si el tema era el problema.
[TIP] Si no sabes qu茅 m贸dulo o tema es el culpable, revisa los logs de error de tu hosting (suele estar en
logs/o en el panel de control) para ver qu茅 archivo se est谩 intentando cargar justo antes del error.
Paso 5: Revisa los permisos de archivos y carpetas
Los permisos incorrectos pueden impedir que PHP lea las clases. Es una causa menos com煤n, pero f谩cil de comprobar.
驴Qu茅 permisos son los correctos?
- Archivos: 644
- Carpetas: 755
驴C贸mo cambiarlos?
- Con tu cliente FTP, selecciona todos los archivos y carpetas de la ra铆z de tu tienda.
- Haz clic derecho y selecciona "Permisos de archivo..." o "File permissions...".
- Introduce el valor
644para archivos y755para carpetas. La mayor铆a de los clientes FTP permiten aplicar el permiso a todas las subcarpetas y archivos de forma recursiva.
[WARNING] No pongas permisos
777(todos los permisos) en archivos o carpetas, ya que supone un grave riesgo de seguridad. Si tu hosting te lo pide para alg煤n proceso, c谩mbialo despu茅s a644o755.
Paso 6: Vuelve a generar el archivo .htaccess
El archivo .htaccess es un archivo de configuraci贸n del servidor que a veces se corrompe y puede generar conflictos.
- Entra por FTP a la ra铆z de tu tienda.
- Busca el archivo
.htaccess(puede estar oculto, activa la opci贸n de ver archivos ocultos). - Ren贸mbralo a
.htaccess_old. - Ahora, intenta acceder a tu tienda. PrestaShop deber铆a generar uno nuevo autom谩ticamente.
[INFO] Si no se genera uno nuevo, puedes crearlo manualmente copiando el contenido de un
.htaccessde una instalaci贸n limpia de PrestaShop de tu misma versi贸n.
Paso 7: La soluci贸n definitiva: reinstalar PrestaShop (manteniendo tus datos)
Si has llegado hasta aqu铆 y el error PrestaShopException contin煤a, es el momento de considerar una reinstalaci贸n limpia. No te asustes, esto no borra tus productos, clientes ni pedidos, ya que esos datos est谩n en la base de datos. Lo que haremos es reemplazar todos los archivos del n煤cleo por unos nuevos.
[WARNING] Este proceso requiere mucho cuidado. Si no te sientes seguro, contacta con tu proveedor de hosting o con un desarrollador especializado en PrestaShop.
Pasos para una reinstalaci贸n limpia:
- Haz una copia de seguridad completa de tu base de datos y de los archivos de tu tienda. Esto es imprescindible por si algo sale mal.
- Descarga la versi贸n exacta de PrestaShop que tienes instalada.
- Descomprime el paquete en tu ordenador.
- Elimina todos los archivos y carpetas de tu servidor, excepto la carpeta
img(donde est谩n las im谩genes de tus productos), la carpetathemes(si has personalizado tu tema) y la carpetamodules(si tienes m贸dulos de pago que no quieras perder). Tambi茅n conserva el archivoconfig/settings.inc.php(1.6) oapp/config/parameters.php(1.7/8). - Sube todos los archivos de la copia limpia a tu servidor, sobrescribiendo los que existan.
- No ejecutes el instalador. Simplemente, intenta acceder a tu tienda. Deber铆a funcionar con los datos de tu base de datos.
Preguntas frecuentes (FAQ)
驴Este error se puede prevenir?
S铆, en la mayor铆a de los casos. Las mejores pr谩cticas son:
- Haz copias de seguridad completas antes de cualquier actualizaci贸n o instalaci贸n de m贸dulos.
- Actualiza siempre a la 煤ltima versi贸n de PrestaShop y de tus m贸dulos.
- No instales m贸dulos o temas de fuentes no oficiales.
- Mant茅n los permisos de archivos correctos (644/755).
驴Puedo solucionar el error solo o necesito un profesional?
Si has seguido esta gu铆a sin 茅xito, te recomiendo buscar ayuda profesional. Un desarrollador con experiencia en PrestaShop podr谩 diagnosticar el problema en minutos y evitar谩 que pierdas m谩s tiempo o, peor, que da帽es tu base de datos.
驴Y si el error aparece despu茅s de mover mi tienda a otro hosting?
Este es un caso muy com煤n. Al mover la tienda, los archivos pueden haberse subido en el orden incorrecto o con permisos err贸neos. Sigue los pasos 3 y 5 de esta gu铆a, que son los que suelen resolver este problema. Aseg煤rate tambi茅n de que la versi贸n de PHP de tu nuevo servidor es compatible con tu versi贸n de PrestaShop.
驴Mi proveedor de hosting (Syspanel) puede ayudarme con esto?
Syspanel (el panel de control de tu hosting, al que accedes por el puerto 2106) te ofrece herramientas como el administrador de archivos y el acceso a los logs. Sin embargo, la resoluci贸n de un error de c贸digo PHP como este suele ser responsabilidad del administrador de la tienda. Si no te sientes capaz, contacta con el soporte de tu hosting, pero ten en cuenta que es posible que te deriven a un desarrollador de PrestaShop.
Conclusi贸n
El error Fatal error: Class 'PrestaShopException' not found puede parecer aterrador, pero es un problema con soluci贸n. La clave est谩 en la paciencia y en seguir los pasos en orden. Empieza siempre por lo m谩s sencillo (borrar cach茅) y ve subiendo en complejidad (reemplazar archivos, desactivar m贸dulos) hasta que encuentres la causa.
Recuerda que la prevenci贸n es la mejor herramienta. Realiza copias de seguridad peri贸dicas y mant茅n tu tienda actualizada. Con un poco de cuidado, tu tienda online volver谩 a funcionar sin problemas. 隆Mucho 谩nimo, que t煤 puedes!
