2011-02-18 4 views
0

"SMF 커넥터"모듈에 세션 ID를 전달해야하는 문제가 있습니다.MODx :: 모듈에서 사용하도록 MODx에서 설정된 세션 ID 가져 오기

이 문제는 어떤 이유로 SMF 포럼 (하위 폴더에 있음)이 다른 세션 세트를 사용하고 있기 때문에 발생합니다. 나는 MODx에서 세션 ID를 하드 코딩하여 문제를 해결했지만 다음 번에 사이트를로드 할 때 다음 번에 실패했습니다.

나는

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

그러나 아무 소용이

사용하여 시도했다 가리키고은로드에서 전체 포럼을 중단했다!

아이디어가 있으십니까?

+0

오류보고 및 표시 오류가 충분히 높은 수준으로 설정되어 있는지 확인하십시오. 오류가 발생하는 것 같으며 문제를 진단하기 위해 오류를 아는 것이 도움이됩니다. –

+0

전체 error_reporting()을 사용할 수는 있지만 그 정도까지는 얻을 수 없습니다. 각 줄을 없앰으로써 $ SID = $ modx-> documentObject [SID]를 발견했습니다. 그 결과 페이지가 중단됩니다. "Content Encoding Error - 유효하지 않거나 지원되지 않는 압축 형식을 사용하기 때문에 보려고하는 페이지를 표시 할 수 없습니다." 페이지. –

답변

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

나는 또한 당신의 대답으로부터 편리한 $ _SERVER [ "DOCUMENT_ROOT"]'가 ... 그 것을 전에 알지 못했다는 것을 알게되었다. –