最近公司服务器升级成了server2008,iis由6.0升级为7.0,以前的服务器上可以跑asp,php,且都没有问题,但是前天换成了iis7后,所有网站的后台都进去不,原因是session丢失。
  我已经在php.ini中把session.save_path设置到了d:\php\session\,并且把该文件夹的iis_users权限改成了“完全控制”,经测试发现每次登录都可以生成一个正确的session文件,且里边的的值都正确,但是在另一个页面的session_start()时,又会产生一个新的session文件(空),请问在iis7里边要怎么设置对同一客户端的访问只生成一个sessionid 呢?

解决方案 »

  1.   

    我看原因是:iis7可能开了多个worker procesor。每个worker processor都是一个新的session。其他的web编程语言也有这个问题。asp.net除外,因为它可以通过dotnet state来实现session sharing。在application pool里,把worker processor的数目改为一个就可以了。
      

  2.   

      我在iis7.0网站的 应用程序池 中,把最大工作进程数的设为1,但是还是那样,刷新一次就产生一个新的sessionid