Время ожидания истечения срока действия сессий PHP для определенного количества минут / часов / дней

У меня есть сайт, который создает сеанс для тележек для покупок.

$_SESSION['cart']=array(); 

Кажется, что сервер автоматически убивает сессию после X-времени бездействия, я предполагаю, что это установлено в php.ini (но мой хост не предоставляет мне доступ, они просто позволяют мне сообщать им об изменениях, поэтому я не могу играть! :().

Есть ли лучший способ сохранить сеансы живыми, например, в течение 2 дней или для определенного количества минут / часов?

Вызовите session_set_cookie_params() перед вызовом session_start() в ваших скриптах:

 $session_lifetime = 3600 * 24 * 2; // 2 days session_set_cookie_params ($session_lifetime); session_start(); // ... 

Из документации :

session_set_cookie_params()
Установите параметры файла cookie, определенные в файле php.ini. Эффект этой функции сохраняется только в течение срока действия скрипта. Таким образом, вам нужно вызвать session_set_cookie_params() для каждого запроса и до вызова session_set_cookie_params() .

Кроме того, вы можете обновить директиву session.cookie_lifetime файла php.ini до 2 дней (в секундах).

установить cookie и изменить в вашем конфиге, что сеанс использует файлы cookie

 session_start(); set_cookie("PHPSESSID", session_id(), time() + 3600 * 2); 

это продолжится в течение 2 часов