session_destroy () уничтожает все данные, связанные с текущим сеансом. Не сбрасывает глобальные переменные, связанные с сеансом, и не сбрасывает cookie-файл сеанса. Чтобы снова использовать переменные сеанса, необходимо вызвать session_start ().
Чтобыполностью завершить сеанс, например, чтобы выйти из системы, идентификатор сеанса также должен быть не установлен.Если файл cookie используется для распространения идентификатора сеанса (поведение по умолчанию), файл cookie сеанса необходимо удалить.Для этого можно использовать setcookie ().
http://php.net/manual/en/function.session-destroy.php
В руководстве приведен пример кода:
Пример # 1 Уничтожениесеанс с $ _SESSION
<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Finally, destroy the session.
session_destroy();
?>
** Обновление **
Версия PHP 5.3.6-13 Linux lime 3.0.0-1-686-pae # 1 SMP Wed Aug 17 04:28:34 UTC 2011 i686
Apache / 2.2.19 (Debian)
Настройки сеанса (phpinfo)
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 0 0
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php5 /var/lib/php5
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0
Обновление
Итак.Следующие настройки приводят к той же проблеме.если и только если я воспринимаю идентификатор сеанса в качестве параметра запроса locahost? PHPSESSID = что угодно
ini_set('session.auto_start', 'on');
ini_set('session.use_trans_sid', 'on');
ini_set('session.use_cookies', 'off');
ini_set('session.use_only_cookies', 'off');
if(!session_id())
session_start();
echo session_id();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Finally, destroy the session.
session_destroy();
ВАЖНО: эти настройки важны для сеансаУгон [ Сеанс фиксации ]