que siguieron la respuesta de aquí, pero no funcionó para mí:
Is possible to keep session even after the browser is closed?¿Cómo mantener una sesión abierta después de que el navegador se cerró en PHP?
Este es el código Traté:
$session_life = 2592000; // 30 days
session_set_cookie_params($session_life);
session_name('my_cart');
session_start();
// update the session_life
setcookie(session_name(),session_id(),time()+$session_life);
El problema con esto es que cada vez que el navegador es cerrado Aún obtengo una nueva session_id, no la anterior.
Estoy usando una base de datos para almacenar los elementos en 'my_cart' y session_id solo se usa para identificar al usuario y mostrarle su propio carro.
¿Cuál es la mejor manera para mantener vivo el carrito de los usuarios durante 30 días?
Este es el código que terminó con:
$cart_name = "my_cart";
$cart_life = 2592000; // 30 days
session_start();
if (isset($_COOKIE[$cart_name])) {
session_id($_COOKIE[$cart_name]);
}
setcookie($cart_name, session_id(), time()+$cart_life);
Quizás esta es una trabajo para cookies y no sesiones. – mawburn
Su sesión también puede caducar en el servidor. El parámetro php [session.gc_maxlifetime] (http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime) define el tiempo máximo que la información de la sesión se mantiene antes de que sea basura recogido. –