php session_start ios拿不到sessionid

我发现一个奇怪的问题,比如我在php文件上写了session_start();//初始化session$_SESSION['name']=1;//在session文件中添... 我发现一个奇怪的问题,比如我在php文件上写了
session_start(); //初始化session
$_SESSION['name']=1;//在session文件中添加键为name,值为1的数组
setcookie('PHPSESSID1',session_id());//写入cookies,键为PHPSESSID1,值为sessionid(假设为123456)
浏览器、安卓和ios分别向服务器请求这个文件后,
1、安卓在cookie里拿到PHPSESSID(键)的值为123456,和sessionid(键)的值为123456。
2、所有的浏览器在cookie里拿到PHPSESSID(键)的值为123456,和sessionid(键)的值为123456。
3、ios在cookie里只能拿到sessionid(键)的值为123456。
为什么呢?
展开
 我来答
xiii130
推荐于2016-02-08 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部
这个问题我遇到过

ios的浏览器好像屏蔽了session的cookie

本来服务器端开启了session后,浏览器访问服务器时会把session_id自动带回给服务器端
但是在ios的浏览器上,它不会自动把这个值带回去,所以会丢失session

我的解决方案是,生成session的时候,产生一个唯一值,传给浏览器,浏览器再次访问服务器时以get形式把这个值再传回去,然后session_id(回传键值);session_start();可以找回之前设置的session内容

安卓浏览器上没有这个问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式