Я не думаю, что выделение стека и выделение "кучи" вообще interchangable. Я также надеюсь, что производительность их обоих достаточна для общего использования.
я настоятельно рекомендовал бы для мелочей, какой бы ни каждый более подходит для объема выделения. Для больших объектов "куча", вероятно, необходима.
В 32-разрядных операционных системах, которые имеют несколько потоков, стек часто скорее ограничивается (хотя обычно, по крайней мере, некоторым МБ), потому что адресное пространство должно быть обмануто, и рано или поздно одна стопка потока столкнется с другим. В единственных потоковых системах (Linux glibc единственный распараллелил так или иначе) ограничение намного меньше, потому что стек может просто вырасти и вырасти.
В 64-разрядных операционных системах существует достаточно адресного пространства для создания стопок потока довольно большими.
Это легко сделать с помощью следующего кода:
<?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>';
?>
Убедитесь, что вы понимаете риски при выполнении (или разрешении) этого.
Сессии изолированы друг от друга. Сеанс одного пользователя не имеет доступа к сеансу другого пользователя. Переменная $ _ SESSION
ссылается только на сеанс текущего пользователя.
Я не думаю, что есть способ получить доступ к сеансу другого пользователя, кроме как узнать, где файлы сеанса физически хранятся на диске, и проанализировать их рукой. ОБРАТИТЕ ВНИМАНИЕ, ЧТО ВЫ ОБЫЧНО НЕ ХОТИТЕ ДЕЛАТЬ.
Я не уверен, что вы спрашиваете, но я думаю, что вы хотите получить еще один сеанс от другого пользователь. Если это так, то я бы не рекомендовал это, и это на самом деле невозможно. Сеансы индивидуальны для каждого сеанса браузера (если иное не указано в файлах cookie).
Если вы просите получить ваши сеансы от вашего собственного пользователя с другого компьютера, опять же, поведение сеанса по умолчанию на самом деле не предназначено для этого. Вам нужно будет реализовать свой собственный менеджер сеансов, который, вероятно, использует базу данных и отслеживает, какой сеанс предназначен для какого пользователя (вероятно, идентификатор пользователя), чтобы он мог загрузить его на другой компьютер. Я бы не рекомендовал это также, потому что, скажем, вы попадаете в еще один целый клубок парафина.
Если вы пытаетесь отслеживать данные по логинам пользователей и компьютерам, я бы рекомендовал использовать таблицу пользовательских настроек. Здесь вы можете отслеживать настройки, которые есть у пользователя, и загружать их каждый сеанс или даже каждую загрузку страницы, не изменяя обработчик сеанса.
Если из вашего заголовка вы хотите получить список текущих активных сеансов,