2012-01-19 2 views
3

Slim PHP 프레임 워크 1.5.0 버전을 사용하고 있으며 세션에 문제가 있습니다. 나는 과거에 Slim을 사용하여 아무런 문제가 없었기 때문에 Slim으로 변화하는 것 또는 내 설정과 관련된 것으로 믿게 만듭니다. 다음은 index.php 페이지에있는 기본 경로입니다.Slim PHP 프레임 워크에서 내 세션은 어디에 있습니까?

$app->get('/test', function() use($app) { 
    $_SESSION['test'] = 'blah'; 
    var_dump($_SESSION); 
}); 

$app->get('/test2', function() use ($app) { 
    var_dump($_SESSION); 
}); 

'/ 테스트'경로 출력 :

array(1) { ["test"]=> string(4) "blah" } 

'/ TEST2'경로 출력 : 내 세션과 함께 무엇

array(0) { } 

. 내가 뭔가 잘못하고 있는거야? PHP의 기본 세션 이외의 다른 것을 사용해야합니까? 나는 심지어 다음 속성으로 Slim을 초기화 해 보았습니다.

$app = new Slim(array(
    'session.handler' => null 
)); 

두 가지 옵션을 사용할 수 없습니다.

+1

내가 읽기를 제안하고 [세션에 슬림 PHP API 문서 (http://www.slimframework.com/documentation/develop#sessions) ...을 흡수하는 기다릴 수로 특정 프레임 워크에 정통한 사람을 위해. – rdlowrey

답변

9

Slim은 세션 데이터를 유지하기 위해 암호화 된 HTTP 쿠키를 사용했습니다. 쿠키를 가지고 있지 않다면 위에 설명한대로 세션 처리기를 null으로 설정하지 않으면 세션을 가질 수 없습니다.

버전 1.6.0 (현재 개발 지점에 있음)은 세션에 대한 어떠한 가정도하지 않습니다. 대신 버전 1.6.0에서는 PHP의 원시 세션 처리를 사용하는 경우 고유 한 세션을 구성하고 시작해야합니다. 버전 1.6.0은 레거시 세션 처리를 미들웨어로 추상화하여 암호화 된 쿠키를 계속 사용하여 원하는 경우 세션 데이터를 유지할 수 있습니다.

더 궁금하신 점이 있으시면 공식 Slim Framework 지원 포럼 http://help.slimframework.com/에 게시하시기 바랍니다.

보다도, 조쉬

관련 문제