этот код:PHP: как использовать два различных сессий в одном запросе
<?php
session_name('sess1');
session_start();
$_SESSION['a']=1;
session_write_close();
session_name('sess2');
session_start();
$_SESSION['b']=2;
session_write_close();
session_name('sess1');
session_start();
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
?>
печатает:
Array
(
[a] => 1
[b] => 2
)
Как видим, оба вары ¨R хранятся в первой сессии (файл).
Мне нужно и ожидалось другого поведения. Мне нужны два разных сеанса.
Почему php ведет себя так? разве это не ошибка?
Почти наверняка вы * не нуждаетесь в двух разных сеансах. Расскажите, что вы пытаетесь сделать. – Jon
Я разработал систему регистрации и входа в систему, у которой есть свой сеанс (действительно, содержимое сеанса r зашифровано прозрачно). Я хочу, чтобы другие могли включать его в свои программы, не вмешиваясь в их собственные сеансы. также моя сессия имеет свои собственные настройки (например, cookie_lifetime), которые я не хочу вмешиваться в сеансы других программ, которые используют мою систему. –
Я не думаю, что это ошибка, вы пишете в той же сессии оба раза. И вы тогда читаете с этого сеанса. session_name ($ session_name) обновляет имя, оно не создает новый. – codea