这可能有些令人困惑,所以在我解释这个问题的时候请耐心等待。
我有一个网站www.mydomain.com和一个移动版m.mydomain.com 主网站没有任何特定的cookie_params设置 移动网站专门设置
session_set_cookie_params(0, '/', '.mydomain.com');
自动检测移动设备&指向移动网站。
移动网站使用https://www.mydomain.com/mobile/进行结帐,以便SSL证书有效。所以我们正在从m转换。到www。当我们安全的时候。
这就是陌生感开始的地方......
在我的iPhone上,我可以完全没有任何问题地完成整个过程。
然而,当我使用电脑浏览器&特别选择使用移动网站,我无法进入结账 - 原因是session_id在m之间变化。 &安培;万维网。 (&数据库找不到你的篮子物品,所以它不会让你进入结账) 或者更确切地说,有2个会话ID - 一个用于www。 &安培;一个为米。
鉴于移动网站的每个页面都有上述参数集,为什么计算机浏览器选择使用www。会话ID?
任何解决此问题的建议都会非常感激。
其他信息: 我从firefox&中删除了所有的cookie重新启动浏览器。我直接去了m.mydomain.com&这项工作正常,我可以结账。
所以也许有了这个信息,问题变成是否有办法强制移动网站 - 无论URL - 使用特定的cookie参数名称?
答案 0 :(得分:1)
session_set_cookie_params(0, '/', '.'.str_replace('www.','',$_SERVER['HTTP_HOST']));
session_name('ses_name');
session_start();