在简单的机器论坛中分享会话到子域

时间:2010-01-13 00:05:52

标签: php

我在smf.com域上部署了简单的机器论坛,而且我创建了简单的应用程序来从smf.com读取会话,但我在subdoamin中部署了简单的应用程序,假设我把我的简单应用程序简单化了.smf.com

为了从域读取会话,我必须放入ini_set(“session.cookie_domain”,“。smf.com”);在会议开始之前。我必须把它放在smf项目文件中,也是简单的应用程序。

我应该把ini_set(“session.cookie_domain”,“。smf.com”)放进去,所以它会传递到会话开始。

我已将ini_set(“session.cookie_domain”,“。smf.com”)放在load.php文件中

function loadSession()
{
   global $HTTP_SESSION_VARS, $modSettings, $boardurl, $sc;

   // Attempt to change a few PHP settings.
   @ini_set("session.cookie_domain",".smf.com");
   @ini_set('session.use_cookies', true);
   @ini_set('session.use_only_cookies', false);
   @ini_set('url_rewriter.tags', '');
   @ini_set('session.use_trans_sid', false);
   @ini_set('arg_separator.output', '&');
}

当我尝试读取cookie表单子域名时。它无法读取域会话。我的子域代码是:

<?php 
 ini_set("session.cookie_domain",".smf.com");
 session_start();

 print_r($_SESSION);
?>

2 个答案:

答案 0 :(得分:0)

您可以在php.ini文件或.htaccess

中进行设置
php_value session.cookie_domain ".smf.com"

您也可以尝试将ini_set放在index.php的顶部,但它只适用于从index.php调用的页面

答案 1 :(得分:0)

  1. 选中在简单机器论坛的服务器设置中使用子域独立cookie。
  2. 将SSI.php包含到我的网站,代码为:

    包括( “../ SSI.php”);

    if($ context ['user'] ['is_guest']) {    ssi_login(); } 其他 {    //你可以在这里展示其他东西喜欢ssi_welcome()。这将显示一个欢迎的消息,如。    //嘿,用户名,你有552条消息,0是新消息。    ssi_logout(); }