我遇到一个很奇怪的问题,同一个页面,PHP后辍就能取到seesion值,但是伪静态的html打开这个页面,就取不session值 !
很奇怪这个问题,网站之前2年一直运行正常的,昨天重启服务器后就这样子,服务器是2003,用的是WAMP集成环境

解决方案 »

  1.   

    跟HTML后缀应该没关系,SESSION是储存在服务器TMP缓存目录中的,影响session取值的是$_COOKIE['PHPSESSID'],估计是你伪静态后路径有所变动,导致COOKIE储存sessionid时出错。
    你可以输出一下php和html这两种后缀名的sessionID使用函数session_id(); 看看两者的sessionID是否相同。
      

  2.   

    按你说的,在同一个浏览器下面的不同标签,同时打开about.php与about.html,输出的PHPSESSID不一样
      

  3.   

    并且在伪静态后辍打开的时候,$_COOKIE['PHPSESSID'] 为空,只有session_id()可以输出
      

  4.   

    建议重新搭建一下系统环境.另外考虑将系统更换到 LINUX下 那就真的2年重启一次都可以了
      

  5.   

    是cookie的domain或者path不对?
    要不把session_id通过url传过去试试?