$ _SESSION список в PHP

Я не думаю, что выделение стека и выделение "кучи" вообще interchangable. Я также надеюсь, что производительность их обоих достаточна для общего использования.

я настоятельно рекомендовал бы для мелочей, какой бы ни каждый более подходит для объема выделения. Для больших объектов "куча", вероятно, необходима.

В 32-разрядных операционных системах, которые имеют несколько потоков, стек часто скорее ограничивается (хотя обычно, по крайней мере, некоторым МБ), потому что адресное пространство должно быть обмануто, и рано или поздно одна стопка потока столкнется с другим. В единственных потоковых системах (Linux glibc единственный распараллелил так или иначе) ограничение намного меньше, потому что стек может просто вырасти и вырасти.

В 64-разрядных операционных системах существует достаточно адресного пространства для создания стопок потока довольно большими.

6
задан 8 August 2009 в 04:52
поделиться

3 ответа

Это легко сделать с помощью следующего кода:

<?php

$sessions = array();

$path = realpath(session_save_path());
$files = array_diff(scandir($path), array('.', '..'));

foreach ($files as $file)
{
    $sessions[$file] = unserialize(file_get_contents($path . '/' . $file));
}

echo '<pre>';
print_r($sessions);
echo '</pre>';

?>

Убедитесь, что вы понимаете риски при выполнении (или разрешении) этого.

12
ответ дан 8 December 2019 в 13:01
поделиться

Сессии изолированы друг от друга. Сеанс одного пользователя не имеет доступа к сеансу другого пользователя. Переменная $ _ SESSION ссылается только на сеанс текущего пользователя.

Я не думаю, что есть способ получить доступ к сеансу другого пользователя, кроме как узнать, где файлы сеанса физически хранятся на диске, и проанализировать их рукой. ОБРАТИТЕ ВНИМАНИЕ, ЧТО ВЫ ОБЫЧНО НЕ ХОТИТЕ ДЕЛАТЬ.

4
ответ дан 8 December 2019 в 13:01
поделиться

Я не уверен, что вы спрашиваете, но я думаю, что вы хотите получить еще один сеанс от другого пользователь. Если это так, то я бы не рекомендовал это, и это на самом деле невозможно. Сеансы индивидуальны для каждого сеанса браузера (если иное не указано в файлах cookie).

Если вы просите получить ваши сеансы от вашего собственного пользователя с другого компьютера, опять же, поведение сеанса по умолчанию на самом деле не предназначено для этого. Вам нужно будет реализовать свой собственный менеджер сеансов, который, вероятно, использует базу данных и отслеживает, какой сеанс предназначен для какого пользователя (вероятно, идентификатор пользователя), чтобы он мог загрузить его на другой компьютер. Я бы не рекомендовал это также, потому что, скажем, вы попадаете в еще один целый клубок парафина.

Если вы пытаетесь отслеживать данные по логинам пользователей и компьютерам, я бы рекомендовал использовать таблицу пользовательских настроек. Здесь вы можете отслеживать настройки, которые есть у пользователя, и загружать их каждый сеанс или даже каждую загрузку страницы, не изменяя обработчик сеанса.

Если из вашего заголовка вы хотите получить список текущих активных сеансов,

1
ответ дан 8 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: