//执行到此只显示"aaa",不显示session的内容,也不报错。为什么?不报错?你用empty或isset测试一下你的SESSION变量~看看是没定义,还是为空串~

解决方案 »

  1.   

    用isset测试,在a.php中测试存在该变量,但在b.php中测试不存在。 为什么?
      

  2.   

    我用session_id()测试,在a.php中测试得到的id是一样的,但到了b.php中,也就是再次执行session_start()后,id变了。怎样维持id不变?
      

  3.   

    是不是51.net的空间?
    这个空间就是这个问题 
    session_start()后就产生新的session_id
    气死人了
      

  4.   

    PHP 不是有一个目录用来放SESSION的吗?你有没有PHP\TMP的目录啊?
      

  5.   

    这个可能是php的问题你用session_get_cookie_params()看看,lifetime是一个随机数,即使你在php.ini里设置了cookie_lifetime=0也没用,这样就直接导致session的cookie刚一发出就已经被浏览器判为过期,于是session_id并没有通过cookies传回。有两个解决办法,
    1. 你在session_start之前用session_set_cookie_params把lifetime置02. 修改ext/session/session.c,如果没有用session_set_cookie_params修改过cookie_lifetime,就强行将lifetime清零,前提是php.ini必须要session.cookie_lifetime=0我们空间上的php就是这个因为这个session才不正常,我把php改了,就啥问题都没了。