Hola @inmaes82. Tus síntomas son un claro indicio de permisos y/o propiedad incorrectos de archivos y directorios, algo muy común tras una migración o cambio de entorno. PrestaShop 9.1.3, al igual que versiones anteriores, necesita que ciertas carpetas sean escribibles por el usuario del servidor web para funcionar correctamente.
Los directorios críticos incluyen var/cache/, img/, download/, mails/, themes/tu-tema/cache/ y upload/. Si el usuario de PHP-FPM no tiene permisos para escribir en ellos, obtendrás errores 500 o fallos al subir archivos/generar contenido.
Para solucionarlo, necesitas acceder a tu servidor vía SSH y ejecutar los siguientes comandos desde el directorio raíz de tu instalación de PrestaShop:
Identifica el usuario y grupo del servidor web/PHP-FPM. A menudo es www-data en sistemas Debian/Ubuntu, pero podría ser nginx, apache, o un usuario específico de tu hosting (por ejemplo, user123:psacln si usas Plesk, o tu nombre de usuario de cPanel). Puedes confirmarlo mirando el archivo de configuración de tu pool de PHP-FPM, por ejemplo, /etc/php/8.2/fpm/pool.d/www.conf y buscando las líneas user = y group =.
Cambia la propiedad de todos los archivos y directorios:
sudo chown -R tu_usuario_web:tu_grupo_web .
Reemplaza tu_usuario_web y tu_grupo_web con los valores que hayas identificado.
Ajusta los permisos de directorios y archivos:
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
Estos comandos establecen los permisos estándar de seguridad para PrestaShop: 755 para directorios (lectura, escritura, ejecución para el propietario; lectura y ejecución para el grupo y otros) y 644 para archivos (lectura y escritura para el propietario; solo lectura para el grupo y otros).
Después de aplicar esto, te recomiendo borrar manualmente el contenido de var/cache/prod y var/cache/dev para forzar a PrestaShop a reconstruir la caché con los nuevos permisos. Con esto, tu tienda debería volver a funcionar con normalidad.