2011-02-18 62 views
0

我有一個問題,我需要將會話ID傳遞給模塊,「SMF連接器」。MODx ::獲取會話ID由MODx設置用於模塊

問題源於這樣一個事實,即出於某種原因,SMF論壇(保存在一個子文件夾中)正在使用不同的會話集。我通過對來自MODx的會話ID進行硬編碼來解決這個問題,但是當我下一次在一天之後加載該站點時,這當然會失敗。

我一直在使用

global $modx; 
$SID = $modx->documentObject[SID]; 
session_id($SID); 
session_start(); 

但無濟於事嘗試,事實上它是從裝載停止整個論壇!

任何想法?

+0

請確保將錯誤報告和顯示錯誤設置爲足夠高的級別。這聽起來像是一個錯誤正在發生,並且知道錯誤來診斷問題會很有幫助。 – 2011-02-18 17:42:17

+0

我啓用了完整的error_reporting(),但它甚至沒有得到那麼多。通過消除每一行,我發現它的$ SID = $ modx-> documentObject [SID];這導致頁面中斷。我收到「內容編碼錯誤 - 您嘗試查看的頁面無法顯示,因爲它使用無效或不支持的壓縮形式。」頁。 – 2011-02-21 09:34:38

回答

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();