【问题标题】:Share session in simple machine forum to subdomain将简单机器论坛中的会话共享到子域
【发布时间】:2010-01-13 00:05:52
【问题描述】:

我已经在 smf.com 域部署了简单的机器论坛,然后我创建了简单的应用程序来从 smf.com 读取会话,但是我在子域中部署了简单的应用程序,假设我把我的简单应用程序放在了简单的.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);
?>

【问题讨论】:

    标签: php


    【解决方案1】:

    您可以在 php.ini 文件或 .htaccess 中设置它

    php_value session.cookie_domain ".smf.com"
    

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

    【讨论】:

      【解决方案2】:
      1. 在简单机论坛的服务器设置中勾选使用子域独立cookies。
      2. 将 SSI.php 包含到我的站点,代码是:

        包括("../SSI.php");

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

      【讨论】:

        猜你喜欢
        • 2018-06-08
        • 1970-01-01
        • 2014-10-13
        • 1970-01-01
        • 1970-01-01
        • 2011-02-19
        • 2014-08-11
        • 1970-01-01
        • 2013-12-04
        相关资源
        最近更新 更多