PHP:会话在SUBDOMAIN上丢失

问题描述 投票:3回答:3

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

  • www.example.com
  • my.example.com
  • test.example.com
  • whateversub.example.com

当我尝试使用从www.example.com到任何子域的会话数据时,无法访问所有会话信息。

  • 我不使用cookie。只是会议。
  • 我有GoDaddy作为虚拟主机。
  • GoDaddy允许上传自定义的php5.ini文件。

由于我是PHP初学者,所以请您认真回答一下,以便我理解。

这里是一个例子:

文件1:

<?php
// FILE 1: www.example.com/index.php

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

文件2:

<?php
// FILE 2: sub.example.com/index.php

session_start();
echo "Your session status is: ";
echo $_SESSION['status'];
?>
php session subdomain
3个回答
7
投票

也请确保也在子域上设置SESSIONID cookie

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

6
投票

通过此链接PHP Sessions across sub domains,我解决了我的问题

PHP:

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

1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.