2016-06-03 4 views
0

최근 Laravel 5.2 프로젝트에서 작업 중이며 지금은 세션이 지속되지 않는 문제가 있습니다. 이미이 질문에 대한 대부분의 질문을 읽었지 만 모든 사람들은 이미 웹 미들웨어를 적용하여 동일한 대답을했습니다.Laravel 5.2 세션이 지속되지 않습니다.

웹 미들웨어 그룹이 이미 기본적으로 적용된 새로운 L5.2 업데이트가 있음을 읽었습니다. php artisan route:list으로 내 경로를 확인했는데 모든 경로에 단 하나의 웹 미들웨어가 적용되어 있음을 알 수 있습니다.

$request->session()->put('key', 'value')으로 세션을 만들고 있지만 그 줄에 댓글을 달면 세션이 더 이상 보이지 않습니다.

편집

내가 뉴스 페이지를 방문 할 때 컨트롤러 내부의 세션을 설정하려면,하지만 난뿐만 아니라 간단한 테스트 노선에 그것을 시도. 내가 설정 한 경로는 news/{id}이며 앞에있는 페이지에서 사용하고 싶습니다. /

최근에 방문한 페이지를 세션에 저장하고자하므로 첫 페이지의 사용자에게 보여줄 수 있습니다.

세션 구성 파일 나는 변경되지 않았습니다. 그래서 경로가 파일 대신 기능의 미들웨어를 사용하십시오 프로젝트에 사용할 테스트 경로를 파일 드라이버 여기

+1

더 많은 코드를 입력하십시오. 설정 한 위치를 알려주고 요청한 곳을 알려주십시오. 세션 드라이버에 대해 자세히 알려주십시오. 전체적으로 달성하고자하는 목표는 –

답변

1

이다 사용하고

routes.php

// Only as a demo 
// Use a middleware instead 

function addToSession ($routeName) { 
    $visited = session()->get('visited', []); 
    array_push($visited, $routeName); 
    session()->put('visited', $visited); 
} 

Route::get('/', function() { 
    addToSession('/'); 
    return view('welcome'); 
}); 

Route::get('/second', function() { 
    addToSession('/second'); 
    return view('welcome'); 
}); 

Route::get('/third', function() { 
    addToSession('/third'); 
    return view('welcome'); 
}); 

Route::get('/history', function() { 
    return session()->get('visited'); 
}); 

해당/역사의 길 역사가있는 JSON을 반환합니다.

+0

입니다. 이상한 점은 이것이 세션에 추가 된 방법이며 세션을 밀어 넣은 직후 세션을 버린 것입니다. 그러나/history의 도움을 받아 세션이 필요한 다른 페이지에 설정되어 있음을 알았습니다. – Citrus