php跨域的解决方法(非分布式服务器解决方案)
今天开发再次遇到一个需求:用户登录之后,在不同的二级域名都可以看到当前用户的登录状态。
其实比较简单,就是在开启session_start()之前添加配置页面,对不同域名下的cookie设置相同域。
例如thinkphp框架下,在index.php中加入
ini_set('session.cookie_domain', '.your_domain.com'); //设置cookie的域
为了测试session_id()的相同性,可以在session_start()开启后执行如下代码,在不同域名下查看
session_start(); //开启session
print session_id(); //输出当前的session_id
exit;
测试时,记得重新打开浏览器。这是才会重新分配session_id();