В какой-то момент вам нужно будет вызвать session_start()
, чтобы заполнить суперглобальный массив $_SESSION
. Возможно, вы сможете вызвать session_write_close()
, изменить обработчик и снова выполнить session_start()
.
Попробуйте, это будет выглядеть примерно так:
$Sessionhandler = session_get_current_handler();
session_use_default();
session_start();
$value = $_SESSION['var'];
session_write_close();
session_set_handler($Sessionhandler);
session_start();
Я почти сомневаюсь, что это сработает. Единственная причина, по которой он «может» работать, заключается в том, что session_write_close()
, поскольку PHP обычно выдает E_NOTICE
, если вы пытаетесь вызвать session_start()
дважды
В зависимости от реализации, он может попытаться получить данные снова. Но многие люди в комментариях к документации видели странные вещи, возникающие при вызове session_start()
дважды, даже после session_write_close()