9 ответов:
расположение
$_SESSIONхранение переменных определяется PHPsession.save_pathконфигурации. Как правило, это/tmpв системе Linux / Unix. Используйтеphpinfo()функция для просмотра ваших конкретных настроек, если не на 100% уверен, создав файл с этим содержимым вDocumentRootдомена:<?php phpinfo(); ?>вот ссылка на документацию PHP по этой конфигурации настройка:
http://php.net/manual/en/session.configuration.php#ini.session.save-path
Как уже упоминалось, содержимое хранится на сервере. Однако сеанс идентифицируется идентификатором сеанса, который хранится у клиента и отправляется с каждым запросом. Обычно идентификатор сеанса хранится в файле cookie, но он также может быть добавлен к URL-адресам. (Это
PHPSESSIDquery-параметр вы несколько раз видите)
они обычно хранятся на сервере. Где они хранятся, зависит от вас как разработчика. Вы можете использовать
session.save_handlerпеременной конфигурации иsession_set_save_handlerдля управления сохранением сеансов на сервере. Метод сохранения по умолчанию-сохранение сеансов в файлы. Где они спасаются контролируетсяsession.save_pathпеременной.
одно дополнение: следует отметить, что в случае, если "/tmp" - это каталог, в котором хранятся данные сеанса (который, по-видимому, является значением по умолчанию), сеансы не будут сохраняться после перезагрузки этого веб-сервера, поскольку "/tmp" часто очищается во время перезагрузки. Концепция клиентской персистентности стоит и падает с сохранением хранилища на сервере, что может привести к сбою, если каталог "/tmp" используется для данных сеанса.
на Debian (разве это не относится к большинству дистрибутивов Linux?), он сохранен в /var / lib/php5/. Как уже упоминалось выше, он настроен в PHP.Ини.
Как отметил г-н Тейлор, это обычно устанавливается в php.Ини. Обычно они хранятся в виде файлов в определенном каталоге.
Как это работает? Откуда он знает, что это я?
большинство сеансов устанавливают пользовательский ключ (называемый sessionid) на компьютере пользователя, который выглядит примерно так: 765487cf34ert8dede5a562e4f3a7e12. Затем, когда сеанс открывается на другой странице, он сканирует компьютер на наличие пользовательского ключа и запускается на сервер, чтобы получить ваши переменные.
Если вы по ошибке очистите кэш, то ваш пользовательский ключ также будет очищен. Вы не сможете получить свои переменные с сервера больше, так как вы не знаете своего удостоверения личности.
Comments