SESSION没有在服务器上工作

时间:2011-11-23 11:38:08

标签: php session

我有域名,我创建了一个名为www.join.domainname.com的子域名,现在问题是我在主域登录页面上启动会话www.domainname.com/support/login.php

同一个域中的所有页面都能正常使用会话,但是当我尝试检查会话时 on:www.join.domainname.com/member.php

我没有得到任何我不知道为什么? Plz帮我解决了这个问题,这里是www.join.domainname.com/member.php的代码:

session_start();
$session_key = (isset($_SESSION['userid'])) ? $_SESSION['userid'] : 'empty';
echo $session_key;

返回结果empty

2 个答案:

答案 0 :(得分:2)

您必须将会话Cookie域设置为.domainname.com,以便所有子域都可以访问它。

您可以使用session_set_cookie_params执行此操作。

session_set_cookie_params(0, '/', '.domainname.com');
session_start();

或者,您可以使用ini_set

设置会话Cookie域
ini_set('session.cookie_domain','.domainname.com');

答案 1 :(得分:0)

根据我之前的经验,您可以跨域/子域使用会话,您需要使用session.cookie_domain设置,例如

// Start the session
DEFINE('COOKIE_BASE_DOMAIN_NAME', '.domain.com');
$some_name = session_name("domain-name"); 
ini_set('session.cookie_domain', COOKIE_BASE_DOMAIN_NAME);
session_start();