php实现多个二级域名间session共享方法总结
PHP SESSION 的工作原理:
在客户端(如浏览器)登录网站时,被访问的 PHP 页面可以使用 session_start() 打开 SESSION,这样就会产生客户端的唯一标识 SESSION ID(此 ID 可通过函数 session_id() 获取/设置)。SESSION ID 可以通过两种方式保留在客户端,使得请求不同的页面时,PHP 程序可以获知客户端的 SESSION ID;一种是将 SESSION ID 自动加入到 GET 的 URL 中,或者 POST 的表单中,默认情况下,变量名为 PHPSESSID;另一种是通过 COOKIE,将 SESSION ID 保存在 COOKIE 中,默认情况下,这个 COOKIE 的名字为 PHPSESSID。这里我们主要以 COOKIE 方式进行说明,因为应用比较广泛。
实现session多域名共享的三个方法总结:
(1)
使用session_set_cookie_params()方法:
session_set_cookie_params(0, ‘/’,’uxuew.cn’,false,true);
(2)利用php.ini 的session.cookie_domain
1 |
<?php |
2 |
ini_set ( "session.cookie_domain" , 'uxuew.cn' ); //注:该参数必须在sesson_start()之上,否则将不会生效 |
3 |
session_start(); |
4 |
$_SESSION [ 'user_name' ]= 'xiaoming' ; |
5 |
echo $_SESSION [ 'user_name' ]; |
6 |
?> |
(3)利用COOKIE存放session_id();
域名一文件php代码:
1 |
<?php |
2 |
session_start(); |
3 |
setcookie( "session_id" ,session_id(),time()+3600*24*365*10, "/" , ".uxuew.com" ); |
4 |
$_SESSION [ 'user_name' ]= 'hello' ; |
5 |
echo $_SESSION [ 'user_name' ]; |
6 |
?> |
域名二文件php代码:
1 |
<?php |
2 |
session_destroy(); |
3 |
session_id( $_COOKIE [ 'session_id' ]); |
4 |
session_start(); |
5 |
echo $_SESSION [ 'user_name' ]; |
6 |
?> |
下面是两个需要注意的问题:
1、ini_set(“session.cookie_domain”,’uxuew.cn’);必须放在session_start()之前,否则无效
2、在某些网站测试的时候必须得注意,或许你本地没有问题,但是在其他机器上或者服务器上有问题,那么你需要检查ini_set(“session.cookie_domain”,’session.com’);这个中的session.com中必须与你的域名 进行真实匹配!不然你的部分session值将会出现问题的!
转载请注明:代码学堂>编程开发 > php教程 > php实现多个二级域名间session共享方法总结
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!
磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持
磊宇堂 » php实现多个二级域名间session共享方法总结