共计 1119 个字符,预计需要花费 3 分钟才能阅读完成。
一般来讲网站都会有主站和子站,比如域名是 linuxidc.com,那么一般来讲 linuxidc.com 和 www.linuxidc.com 就会是主站,而像 bbs.linuxidc.com 就会作为论坛而存在的子站。
而且要注意的是,虽然一般设置域名 dns 解析的时候,都会将 linuxidc.com 和 www.linuxidc.com 都设置好指向主页虽然看起来效果是一样的。但是这两个确是不同的域名,也就是如果是默认的情况下的话,这两个域名的 cookie 的 domain 是认为不同的。
而一般,如果网站是有用户登录功能的,我们一般都希望不管是在什么样的二级域名中,都是保持这种登录状态的。
所以,为了解决这种二级域名 session 共享问题,推荐使用如下方案:
<?php
ini_set(“session.cookie_domain”,’linuxidc.com’);// 注:此句必须放在 session_start() 之前
session_start();
$_SESSION[‘user_name’] = ‘ 测试用户名 ’;
echo $_SESSION[‘user_name’];
?>
需要注意的是:
1、ini_set(“session.cookie_domain”,’linuxidc.com’); 必须放在 session_start(); 之前。
2、域名 linuxidc.com 必须跟浏览器实际访问的域名是相匹配的。
其实道理很简单,就是将主域名和二级域名的 domain 都设置为主域名,这样就可以实现 session 在不同的二级域名之间共享访问了。
Ps. 在 PHP 的 CI 框架中,如果想实现其自带的 Session 类可以在不同的二级域名中共享,则在 /application/config/config.php 文件中,做如下设置:
$config[‘cookie_domain’] = “linuxidc.com”;
CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
《细说 PHP》高清扫描 PDF+ 光盘源码 + 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm
PHP 的详细介绍 :请点这里
PHP 的下载地址 :请点这里