Si estás intentado actualizar tu prestashop y no puedes, seguramente es porque te aparece un error como It’s not possible to create a PHP session. Aquí te explico cómo resolverlo
It’s not possible to create a PHP session resuelto en prestashop
Este error aparece en las últimas versiones del módulo 1-click upgrade que no funcionan correctamente. Se resuelve modificando un fichero. Además de que no te permite actualizar, también te avisará de que no hay versiones nuevas de prestashop disponibles, cosa que seguramente no será cierta. Es producto del mismo error.
Antes de actualizar, el core de php de prestashop comprueba si el directorio de sesiones es reescribible, pero a veces no funciona bien. Esto combinado con un open_basedir configurado sin session.save_path, hace que las sesiones de PHP aún no funcionen según lo previsto, pero la función test_sessions falla. En tal caso, el módulo de actualización con un clic fallará al verificar sus requisitos previos en un intento de realizar una actualización. Esto soluciona el problema en todos los núcleos antiguos, porque implementa la verificación dentro del módulo.
Solución
Necesitas editar un fichero de tu prestashop. Puedes hacerlo directamente desde el servidor de archivos o bien instalando en tu ordenador un programa de transferencia de ficheros que conecte con el mismo. Te servirá FileZilla, por ejemplo.
Cuando hayas accedido al sistema de archivos, dirígete a: modules -> autoupgrade -> classes -> UpgradeSelfCheck.php
Edita ese fichero y localiza las siguientes líneas de código:
public function isPhpSessionsValid() { if (!class_exists(ConfigurationTest::class)) { return true; } return ConfigurationTest::test_sessions(); }
Tendrás que eliminar varias líneas hasta obtener lo siguiente:
public function isPhpSessionsValid() { return in_array(session_status(), [PHP_SESSION_ACTIVE, PHP_SESSION_NONE], true); }
Guarda los cambios, ve a tu prestashop, ejecuta el 1 click upgrade y ahora ya no te aparecerá el error.
Espero que os haya servidor!
Mucha suerte y mucho e-commerce 🙂