我遇到一个问题,我需要将会话ID传递给模块“SMF Connector”。
问题源于这样一个事实:由于某种原因,SMF论坛(保存在子文件夹中)使用不同的会话集。我通过从MODx硬编码会话ID来解决这个问题,但当然下次我在一天后加载网站时失败了。
我尝试过使用
global $modx;
$SID = $modx->documentObject[SID];
session_id($SID);
session_start();
但无济于事,事实上它阻止整个论坛加载!
有什么想法吗?
答案 0 :(得分:1)
原因是modx会话数据仅限于index.php和那里包含的脚本。我想这是设计的。
从我收集的内容来看,您的SMF脚本是由单独的请求调用的。尝试在外部php脚本的开头添加以下行:
// start MODx session to access its session data
require_once ($_SERVER["DOCUMENT_ROOT"] . '/manager/includes/config.inc.php');
startCMSSession();