Проверка статуса сеанса через идентификатор сеанса

Я посмотрел несколько постов с похожими названиями. проверка статуса сеанса с идентификатором сеанса, а также Как узнать, активен ли сеанс?, но они не кажутся конкретными для того, чего я пытаюсь достичь.

Я создаю корзину, в которую пользователи могут добавлять информацию независимо от того, вошли они в систему или нет — с помощью $_SESSION а также session_id(),

Добавление товаров в корзину добавляет записи в таблицу корзины покупок с идентификатором сеанса.

Короче говоря, как узнать из списка идентификаторов сеансов, какие сеансы активны, а какие нет (для использования в crontab), чтобы я мог удалить избыточные элементы из таблицы корзины покупок в базе данных?

0

Решение

Вы можете сделать это с помощью SessionHandler, если у вас есть достаточно привилегий. (Работает в PHP> 5.4.0)

class MySessionHandler extends SessionHandler
{
public function __construct()
{
// database initialization code
}

public function destroy($id)
{
$ret = parent::destroy($id);
// database uninitialization code
return $ret;
}
}

Тогда в вашем коде:

ini_set('session.save_handler', 'files');
$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

Прежде чем использовать это, я советую вам внимательно прочитать документацию, на которую я ссылался выше


Однако, поскольку вы создаете корзину покупок, было бы проще просто хранить информацию о корзине в переменных сеанса.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]