PHP:SUBDOMAIN上的SESSION丢失了

时间:2011-09-06 19:04:51

标签: php session subdomain

我正在尝试在多个子域上使用会话数据。 EJ:

  • www.mywebsite.com
  • my.mywebsite.com
  • test.mywebsite.com
  • whateversub.mywebsite.com

当我尝试将www.mywebsite.com上的会话数据用于任何子域时,无法访问所有会话信息。

  • 我不使用cookies。只是会议。
  • 我有godaddy作为网络主持人。
  • Godaddy允许上传自定义php5.ini文件

由于我是一名php初学者,请愚蠢地回复你的回复,以便我理解。

以下是一个例子:

文件1:

<?php
//FILE 1: www.mywebsite/index.php

session_start();
$_SESSION['status'] = "ON";
header( 'Location: http://sub.mywebsite/' );
?>

文件2:

<?php
//FILE 2: sub.mywebsite/index.php

session_start();
echo "Your session status is: ";
echo $_SESSION['status'];
?>

3 个答案:

答案 0 :(得分:7)

请务必在子域上设置SESSIONID cookie

ini_set('session.cookie_domain', '.my-domain.com');

答案 1 :(得分:6)

由于此链接PHP Sessions across sub domains

,我解决了我的问题

<强> PHP:

<?php
session_set_cookie_params(0, '/', '.mywebsite.com');
session_start();
//Code...
?>

答案 2 :(得分:1)

默认情况下,这不起作用,但您可以按照此处所述解决问题:http://www.gonnalearn.com/2008/04/10/sharing-session-data-across-domains-with-php/