网站地图    收藏   

主页 > php专栏 > php会话 >

PHP的SESSION丢失?跨页面SESSION丢失问题

来源:未知    时间:2014-11-27 21:45 作者:xxadmin 阅读:

[导读] SESSION丢失意思是讲在当前页面的session是有值了,但到了另一个页面session就没有值了,这有违背了session的正常逻辑了,正常情况session是服务器全局变量是可以在当前域的任何页面使用的,那...

SESSION丢失意思是讲在当前页面的session是有值了,但到了另一个页面session就没有值了,这有违背了session的正常逻辑了,正常情况session是服务器全局变量是可以在当前域的任何页面使用的,那现在这种问题是什么问题呢,下面我来给大家讲一下.

问题分析研究

1、客户端禁用了cookie

2、浏览器出现问题,暂时无法存取cookie

3、php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-sid选项.

实例分析:session_start()声明后在另外一个页面无法获得刚才申明的session值,打开phpinfo()查看了一下SESSION条发现这两条估计是和我的情况符合要求.

找到/etc/php.ini文件把:session.use_trans_sid = 0 修改成了1

重启服务 service httpd restart还是不行,于是仔细看了:session.save_path 它有两个项 Local Value和Master Value.

Local Value    /var/lib/php/session

Master Value   /tmp

我把这两个目录都设置权限chmod a+rwx /var/lib/php/session

chmod a+rwx /tmp //phpfensi.com

搞定,能传递了,另外说一下,如果服务器不是自己的,那肯定无法修改权限了,不过我的是自己的PC机,作为一个调试环境,还是希望大众一些,所以就没有考虑用session_id()来解决这个问题了.

总结:

1、设置php.ini中的session.use_trans_sid = 1或者编译时打开打开了–enable-trans-sid选项,让PHP自动跨页传递session id.

2、手动通过URL传值、隐藏表单传递session id.

3、用文件、数据库等形式保存session_id,在跨页过程中手动调用.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论