Hola,
Tras actualizar mi tienda PrestaShop desde el módulo de actualización (actualización realizada correctamente desde el propio backoffice), el front deja de funcionar y en los logs aparecen errores fatales del núcleo.
El servidor ya ha sido revisado por el equipo técnico de soporte (vía ticket) y han confirmado que:
No es un problema de permisos.
No es problema del handler de PHP.
No es problema del usuario de ejecución.
La configuración del alojamiento es correcta.
En los logs de:
/public_html/error_log
/public_html/adminXXXX/error_log
aparece el siguiente error: PHP Fatal error: Uncaught PrestaShop\PrestaShop\Core\Exception\ContainerNotFoundException: Kernel Container is not available in /home/xxxx/public_html/src/Adapter/ContainerFinder.php:77
La carpeta /var/cache/ no regenera correctamente prod tras el fallo.
La actualización se realizó desde el módulo de actualización de PrestaShop (no manual).
El tema utilizado es Warehouse (última versión compatible) y el servidor tiene la versión de PHP recomendada para esta versión de PrestaShop.
Necesito ayuda para revisar:
Si el núcleo puede haberse quedado corrupto tras la actualización.
Si puede faltar algún archivo de /vendor/ o del core.
Si puede haber un conflicto en la reconstrucción del container Symfony.
Qué procedimiento recomiendan para reparar el core sin afectar base de datos ni módulos.
La tienda funcionaba correctamente antes de la actualización.
Quedo pendiente de vuestras indicaciones.
Gracias.
Contenido solo visible a usuarios registrados
Hola Beatriz,
Gracias por la consulta detallada; según el error que nos citas de ContainerNotFoundException nos da el indicio de que no es posible inicializar servicios, los cuales se han quedado a medias en el proceso de la actualización parcial o fallida
En este caso lo ideal es primero poder tener la web operativa, por lo que hacer una restauración al punto anterior antes de la actualización, es una opción viable. para ello puedes recurrir a Superbackup
Ahora bien desde qué versión de PrestaShop se intentó hacer la actualización? Cuando el salto de versión es muy drástico, se sugiere es realizar una instalación limpia y luego migrar el contenido, ya que las actualizaciones suelen desencadenar una serie de conflictos
Quedamos atentos
Saludos!
Muchas gracias Bruno, por tu interés. La actualización fue desde 1.7.6.4 → PrestaShop 8.1.x
Entonces que me recomiendas? que vuelva a la versión 1.7.6.4.?
Gracias y saludos
Ya he restaurado la web a un punto anterior, la web vuelve a funcionar pero no me meja acceder al backoffice. Que puedo hacer?
Gracias
Hola Beatriz,
Verifica vaciar las carpetas de cache en /var/cache/ dentro veras dos carpetas, de prod y dev; vacía ambas. Luego vemos que tienes versión PHP 7.3, trata de subirla a 7.4. Si sigues con el problema, verifica cambiar el archivo .htaccess a por ejemplo .htaccess_old, de esta forma cargará sin este y se generará de nuevo.
Si genera más conflictos, solo con cambiar de nuevo a .htaccess puedes ingresar.
Verifica y nos comentas.
Un saludo
Hola, Argenis. Muchas gracias por tu interes. Vaciados caches de las carpetas indicadas, cambiado P.H.P. a 7.4 y renombrado archivo .htaccess PERO no ha solucionado el problema, sigo sin poder accede al back.
Quedo a la espera de tus noticias, muchas gracias.
Saludos.
Beatriz G.
Hola Beatriz,
Vemos en tu error log que hay elementos faltantes del core de tu sitio; posiblemente, por la restauración, no se generaron de forma correcta. Entonces, vuelve a restablecer; es posible que el punto no sea el idóneo, quisaz un dia antesde que realizaras la actualizacion a 8.1.
Verifica de esta forma y nos comentas.
Un saludo 🖐️
Hola Argenis, gracias por tu ayuda. Ya he restaurado otra copia a otro punto anterior y sigue el mismo problema. La front va pero no deja acceder al back.
Quedo a la espera de tus noticias.
Muchas gracias
Beatriz G.
Que tal Beatriz,
Esta restauración sugerida por mi compañero a un punto anterior tiene un margen considerable antes de la actualización que se intentó posteriormente?
Es probable que alguno de los archivos haya quedado corrupto en el proceso de actualización, por lo que en estos casos lo sugerido es realizar una instalación limpia de PrestaShop bajo la versión que se tenía, en este caso 1.7.6.4
Para ello vamos a seguir los siguientes pasos
- Descarga PrestaShop desde esta URL:
https://github.com/PrestaShop/PrestaShop/releases/tag/1.7.6.4
- Desde el Administrador de archivos de WePanel accede al directorio de la instalación de la web, donde ubicaremos app -> config y descarga el archivo parameters.php, este archivo es el que tiene la configuración y los datos de la base de datos
- Borra todo excepto:
- Sube todos los archivos del ZIP nuevo, sobrescribiendo lo que hay
- Restaura en archivo parameters.php que descargaste antes en app -> config
- Borra la carpeta cache que se encuentra dentro de la carpeta var
Valida si bajo este proceso logramos restaurar los archivos que pudieron verse afectados
Antes de realizar este procedimiento, puedes generar un respaldo de todos los archivos actuales por cualquier eventualidad
Quedamos atentos
Saludos!
Hola Bruno, la actualización al punto anterior la hice con una semana posterior a la actualización. Consideras que intente otro punto atrás, por ejemplo un mes, o directamente descargo prestashop y sigo los pasos que me recomiendas?
Quedo atenta de tus noticas y muchas gracias por tu interés.
Beatriz G.
Hola Beatriz.
Puedes volver a la versión que tenias con prestashop 8 ?
El error que muestras al principio de la consulta se debe a que las actualización de 7x a 8x con el módulo 1click suele dejar rastros de la version 7x.
Si puedes restaura a la versión 8 y luego vemos el error que indicaste.
Un saludo
Hola, Pepe. No puedo volver a la versión 8 pues tus compañeros me recomendaron que restaurara una copia anterior a la actualizacion de prestashop. asi lo hice y ahora consigo entrar en el front de la tienda pero me da error en el back. En fin, tu compañero Bruno, me ha aconsejado que vuelva a instalar prestashop 1.7.6.4. siguiendo los pasos indicados en su respueta de arriba. Entiendo que es el siguiente paso que debo dar para finalmente recuperar el back de mi tienda?
Graicas por tu respuesta.
Un saludo
Beatriz G.
Hola Beariz.
Si intentalo, no es una instalación completa solo tienes que sustituir los archivos que te indico.
Un Saludo
Hola, Pepe y Bruno. Tras realizar todos los pasos recomendados por Bruno. Al entrar al back y front me sale este error:
No tienes permiso para acceder a este recurso. El servidor no puede leer el archivo htaccess, denegando el acceso para mayor seguridad.
Quedo a la espera de vuestro comentario. garcias
beatriz G.
Hola Beatriz.
Prueba lo siguiente:
.- Accede a tu cuenta de WePanel -> Gestor de archivos
.- Accede a la carpeta donde tienes la instalación
.- Accede a la carpeta modules,
.- Renombra los módulos ps_linklist y ps_checkout
.- Accede a la carpeta var -> Cache y la vacias
Revisa si puedes acceder al administrador.
Un saludo