Fork me on github

wamp下php无法保存SESSION问题总汇

由于是在windows 下的iis进行php的环境,所以很多情况下不能像lamp那么简单进行设置。由于工作原因我也遇到很多session无法保存的情况(在wamp下)。以下是相信信息的汇总,仅供参考学习。

1,php.ini设置问题,这类情况下需要设置

    session_auto_start = on //这是自动开启session的

    在php文档中输入 phpinfo 查看是否正确的开启了session。

2,保存session的文件夹有问题

    首先查看php.ini中的session_save_path 是否存在,并且没有被注释掉,如果存在的话 一般在widnows中默认的为c:\windows\tmp 下,这目录默认是不允许其他用户读取的。

    解决方案

        1.设置 文件夹为 everyone 可读取 可写入 ,这样虽然可以解决问题,但是却产生了新的问题就是安全问题,因为是windows 下,可以进行注册表等其他信息的跨目录读取。

        2.重新设置 session_save_path ,设置完成以后 重启iis 看是否成功 如果不成功的话 请设置两个,因为在php.ini中为了兼容以前的版本是有两个的 一个是被注释掉的 一个是 4.0以上 一个是5.0以上的。设置完成后,设置被设置的目录为everyone 读取 写入,然后继承,其他的都不要勾取,这样就保证了保存目录的安全和系统数据的安全。

3.和程序代码有关系。

    当看到设置的目录中有session生成的时候,但是全部都是0kb的空文件,这时候需要进行检查下代码是否有问题。

    解决方案:

    1.如果开启了session_auto的话 请关闭掉。然后在页面中上方写写入 session_start

    2.如果第一种方案无效的话,建议在session_start前面加上'@'符号,写入页面和读取页面都要加的。

4.其他问题,

    如果以上原因还不可以进行处理的话,请检查php文档是否为当前加载的php文档,wamp加载的php.ini在apache中,关于检查当前php环境加载的php.ini的话 请关注后面的文章。

转载请著名出处谢谢。。
posted @ 2015-07-08 15:58  Champion-水龙果  阅读(398)  评论(0编辑  收藏  举报
Champion-水龙果