PHP Session: Use Multiple Session Same Request | Duplicate Session | Use Value Of Another Session | Value From Another Session.
And output is below:
<?php $path = ini_get('session.save_path'); session_start(); $id = session_id(); $_SESSION["name"] = isset($_GET["name"]) ? $_GET["name"] : "No Name"; $_SESSION["tokens"] = array(); echo "<pre>"; echo "Session Save Path: " . $path . ",Session_id=$id\r\n\r\n"; willThisWork(); echo "\r\nORIGINAL_SESSION\r\n"; print_r($_SESSION); function willThisWork() { $existing = session_id(); session_write_close(); ob_start(); session_id("MyCommonSessionInstance"); session_start(); if (!isset($_SESSION["tokens"])) { $_SESSION["tokens"] = array(); } for ($i = 0; $i < 10000; $i++) { array_push($_SESSION["tokens"], md5(time().rand(9999,999999))); } $start = microtime(true); if (count($_SESSION["tokens"]) > 100000) { $_SESSION["tokens"] = array_slice($_SESSION["tokens"], 75000); } $in_array = count($_SESSION["tokens"]).",EXISTS=" . (in_array($_SESSION["tokens"][count($_SESSION["tokens"]) - 1], $_SESSION["tokens"])); session_write_close(); ob_get_clean(); echo("TIME_TAKE=" . ((microtime(true) - $start) / 1000))." ms\r\n"; session_id($existing); session_start(); echo "COUNT=$in_array\r\n"; } echo "</pre>";
And output is below:
Session Save Path: C:\xampp\tmp,Session_id=crolfji99hva2o0dflkg4ddj93
TIME_TAKE=1.2001037597656E-5 ms
COUNT=65000,EXISTS=1
ORIGINAL_SESSION
Array
(
[name] => No Name
[tokens] => Array
(
)
)