位置:首頁 » 實例教學 » session_id() 值為空問題

問題:使用session_()函數返回的值為"",搞不明白什麼原因,在同一服務下的兩個網站(同一網站不同子域名),一個好用一個不好用。

解決辦法:

// session id 問題
$sid = session_id();
if(empty($sid)){
    $sid = md5(uniqid(rand(999,999999999)));
    session_id($sid);
}

參考:

ini_set('session.auto_start', '0');
ini_set('session.save_path','/public_html/nowy/tmp');

if (isset($_POST["PHPSESSID"])) {
    session_id($_POST["PHPSESSID"]);
} elseif (isset($_COOKIE['PHPSESSID'])) {
    session_id($_COOKIE["PHPSESSID"]);
} elseif (isset($_GET["PHPSESSID"])) {
    session_id($_GET["PHPSESSID"]);
} 
session_start();
setcookie("PHPSESSID", session_id(), time()+3600, "/");

if (!isset($_SESSION['user'])) {
$_SESSION['user'] = 0;
}

if (!isset($_SESSION['initiate'])) {
    session_regenerate_id();
    $_SESSION['initiate'] = true;
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}

echo ini_get('session.save_path').'
';

echo $_POST["PHPSESSID"];
print_r($_SESSION);