还有的空间不支持session真是可恶!

解决方案 »

  1.   

    用下这个函数》?
    session_save_path()
      

  2.   

    是否用phpinfo()确定session support 为disable?
      

  3.   

    能否用session_set_handler改成用数据库存储session哪?
      

  4.   

    将session存入数据库..效率比原本的基于文本的高很多的说 PHP:---------------------------------------------------------------<?
    $SESS_LIFE = get_cfg_var("session.gc_maxlifetime");
    function sess_open($save_path, $session_name)
    {
        if (!     mysql_pconnect())
        {
            echo "<li>连接数据库出错!";
            die;
        }    if (! mysql_select_db('younet'))
        {
            echo "<li>选择数据库出错!";
            die;
        }
        return true;
    }function sess_close()
    {
        return true;
    }function sess_read($key)
    {
        global $SESS_LIFE;
        if (list($value) = mysql_fetch_row(mysql_query("SELECT value FROM sessions WHERE sesskey = '$key' AND expiry > ".time()))) return $value;
        return false;
    }function sess_write($key, $val)
    {
        global  $SESS_LIFE;
        $qid = mysql_query("INSERT INTO sessions VALUES ('$key', ".(time() + $SESS_LIFE).", '".addslashes($val)."')");
        if (! $qid) $qid = mysql_query("UPDATE sessions SET expiry = ".(time() + $SESS_LIFE).", value = '".addslashes($val)."' WHERE sesskey = '$key' AND expiry > ".time());
        return $qid;
    }function sess_destroy($key)
    {
        return mysql_query("DELETE FROM sessions WHERE sesskey = '$key'");
    }function sess_gc($maxlifetime)
    {
        mysql_query("DELETE FROM sessions WHERE expiry < ".time());
        return mysql_affected_rows();
    }
    session_set_save_handler("sess_open","sess_close","sess_read","sess_write","sess_destroy","sess_gc");
    if(function_exists(session_cache_limiter)) session_cache_limiter("private, must-revalidate"); 
    session_start();
    ?>