SESSION不能在服务器上工作


SESSION not working on server

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

同一域中的所有页面与会话正常工作,但当我试图检查会话时on: www.join.domainname.com/member.php

我没有得到任何东西,我不知道为什么??请帮我解决这个问题,这是www.join.domainname.com/member.php的代码:
session_start();
$session_key = (isset($_SESSION['userid'])) ? $_SESSION['userid'] : 'empty';
echo $session_key;

它返回结果empty

您必须将会话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');

根据我以前的经验,要使您的会话跨域/子域可用,您需要使用会话。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();