最近开发一个PHP的程序,基于IIS,需要使用SESSION来保存登陆用户的信息。
在本地,我是使用APACH+PHP+MYSQL;在服务器上,我是使用 iis + PHP + MYSQL
在本地调试,一切OK,可以一上传到服务就有毛病了,SESSION死活是无法读写。但是从session 保存的目录,明显可以看到SESSION文件也已经建立,但是大小为0字节。
这个问题,从昨天早上,一直困绕我一天。我查阅了所有的PHP资料、问题,一般的反映都认为是目录设置不正确,目录权限不正确……
可是,我已经把目录改到根,还从D盘改到C盘。权限也是给了完全控制的权限。还是不成功。
无奈,我写了一个test.php,独立的在里边session_start(),然后设置一个session,并打印出所有的session变量来。显示session读写成功。
然后再重新检查代码,看到我以前的程序是将session_start()放在config文件的最后一行,我猜测可能问题就在这里,遂将其改到最上边,测试成功……
这个问题,困绕我一天,几乎没有任何资料可以提供关于这个问题的任何原因,而且程序也不提示任何的错误或者警告信息,幸好最后还是解决了。
PS:写这个BLOG,希望各位遇到同样的问题的时候,能够搜索到这篇文章,说不定你就可以解决你的问题了。