我的PHP网站在本地测试一切正常,上传到空间就出现session对象丢失的情况。
我本地环境是windows2003+php5+mysql+apache
空间环境是linux+php5+mysql+apache我在登入时用session对象来控制用户有没有登入与在某个特定的步骤有没有完成,session.php是外挂的,代码如下
<?
  session_start();
  //检查userID是否被注册为session
  if(!isset($_SESSION['userID']))
  {
   echo "<script>";
   echo "alert(\"Please Sign in before\");";
   echo "location.href=\"login.php\";";
   echo "</script>";
  }
?>在登入页面login.php页面有用
  session_start();//启动会话
  $_SESSION['userID']=$userID;//创建会话变量我在登入后跳到b.php页面有用
<?
 include("session.php");
?>现在我登入后跳到b.php页面就弹出提示框要我登入

解决方案 »

  1.   

    用 phpinfo 查看配置信息
      

  2.   


    // 保存一天 
    $lifeTime = 24 * 3600; 
    session_set_cookie_params($lifeTime);  ORsession_start(); 
    // 保存一天 
    $lifeTime = 24 * 3600; 
    setcookie(session_name(), session_id(), time() + $lifeTime, "/"); 
      

  3.   

    session 一般是保存在文件里面的, 
    去phpinfo 看看sesion保存路经,
    最好自己设置一个有权限写入的目录作为session文件目录