PHP Как создать несколько сеансов?

Я хочу иметь возможность переключаться между сессиями в php. Вот мой текущий код:

<?php session_name("session1"); session_start(); $_SESSION["name"] = "1"; echo "<pre>", print_r($_SESSION, 1), "</pre>"; session_write_close(); session_name("session2"); session_start(); $_SESSION["name"] = "2"; echo "<pre>", print_r($_SESSION, 1), "</pre>"; session_write_close(); session_name("session1"); session_start(); echo "<pre>", print_r($_SESSION, 1), "</pre>"; 

Я хочу, чтобы он выводил

 Array ( [name] => 1 ) Array ( [name] => 2 ) Array ( [name] => 1 ) 

но он выводит

 Array ( [name] => 1 ) Array ( [name] => 2 ) Array ( [name] => 2 ) 

Можно ли переключаться между сеансами? Одновременно мне не нужны два сеанса, но мне нужно переключаться между ними. Когда я запускаю этот код, я получаю два файла cookie: session1 и session2 с одинаковым значением.

Спасибо за любую помощь!

То, что вам нужно использовать, – session_id() вместо имени session_name()

 <?php session_id("session1"); session_start(); echo session_id(); $_SESSION["name"] = "1"; echo "<pre>", print_r($_SESSION, 1), "</pre>"; session_write_close(); session_id("session2"); echo session_id(); session_start(); $_SESSION["name"] = "2"; echo "<pre>", print_r($_SESSION, 1), "</pre>"; session_write_close(); session_id("session1"); echo session_id(); session_start(); echo "<pre>", print_r($_SESSION, 1), "</pre>"; session_write_close(); session_id("session2"); echo session_id(); session_start(); echo "<pre>", print_r($_SESSION, 1), "</pre>"; 

Это напечатает:

 session1 Array ( [name] => 1 ) session2 Array ( [name] => 2 ) session1 Array ( [name] => 1 ) session2 Array ( [name] => 2 ) 

session_id – это идентификатор сеанса, который помогает различать сеансы. session_name – это только именованный псевдоним для текущего сеанса