繁体   English   中英

PHP:子域上的会话丢失

[英]PHP: SESSION lost on SUBDOMAIN

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

  • www.example.com
  • 我的.example.com
  • test.example.com
  • 无论sub.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'];
?>

确保你也在子域上设置了 SESSIONID cookie

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

由于此链接跨子域的 PHP 会话,我解决了我的问题

PHP:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM