PHP的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文件把 www.111cn.net
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
搞定,能传递了。
另外说一下,如果服务器不是自己的,那肯定无法修改权限了。
不过我的是自己的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 session跨页面传递 session值丢失的问题(图文)
PHP的SESSION丢失?跨页面SESSION丢失问题
php中kindeditor多图上传session丢失问题解决
php session跨域跨服务器的解决方法分享
asp.net Session丢失的解决方法
php session失效的原因
php中IE7 iframe session丢失问题解决方案
Asp.net 默认配置下,Session莫名丢失的原因及解决办法
MEMCACHE做为PHP的SESSION HANDLER
PHP Session丢失无效问题总结