CI 묻고 답하기

제목 kohana와 ci간의 세션공유문제입니다.
글쓴이 신의실수 작성시각 2012/10/25 22:59:41
댓글 : 12 추천 : 2 스크랩 : 0 조회수 : 21220   RSS
고수님들께 부탁 드립니다.

현재 동일 도메인상에 두개의 사이트가 돌고있습니다.

a.com/ko : kohana 프레임워크
a.com/ci : ci 프레임워크

여러가지 사정으로 kohana와 ci에서 각각의 세션기능외에 $_SESSION을 함께 이용하고있습니다. ko, ci에 로그인할때 $_SESSION에 넣어주는 내용은 동일합니다. 그런데 두 사이트간에 세션공유가 안되고있습니다.

많이 고민하다가 고수님들의 가르침을 구하려고 질문 올립니다. 감사합니다.

태그 세션 공유 kohana
 다음글 코드를 짜긴짰는데 이해가 안됩니다ㅠ (5)
 이전글 데이터베이스 함수 질문입니다. (8)

댓글

니삼 / 2012/10/26 00:21:35 / 추천 0
혹시나 세션을 저장하는 위치나 세션을 가져오는 위치가 다른건 아닌가요?
전에 이런 문제를 겪은적이 있어서
한대승(불의회상) / 2012/10/26 08:15:05 / 추천 0
1.두사이트의 도메인은 동일한가요? (a1.a.com, a2.a.com)
2.CI는 보안을 위해 $_SESSION의 값을 unset시키는데, 어떻게 값을 보존하고 계시는지 궁금 하네요.
신의실수 / 2012/10/26 16:51:16 / 추천 0

니삼 / 감사합니다.
겪으신분이 계시다니 살것 같네요. 그럼 세션을 저장하는(가져오는) 위치를 어디서 설정하는지 알려주시면 고맙겠습니다. config에서 여기저기 찾아봤는데 실패했습니다. 혹시 php.ini같은데 있는건 아닌지...

불의 회상 / 감사합니다.
1. 도메인은 동일합니다. 꼭 본문과 같은 구조로 되여있습니다.
2. $CI->session->set_userdata('sess', $sess); 다음 행에 $_SESSION['sess'] = $sess; 형식으로 주었더니 $_SESSION도 유지가 되더군요. 본문에도 있지만 서로 다른 두개의 프레임워크이기때문에 각각의 로그인처리를 하면서 둘사이의 공유는 이 $_SESSION을 이용하려고 생각하고있습니다.

(그리고 왜 Firefox에서 댓글등록이 않되는지요... ㅠㅠ)

한대승(불의회상) / 2012/10/26 17:19:24 / 추천 0
신의실수//
CI에서 session_start(); 해주셨겠죠 ^^

kohana가 $_SESSION을 건드리지 않는다면 가져올수도 있겠네요.

니삼님 지적 한 것처럼 session_save_path() 함수로 디렉토리 확인해 보십시오.
변종원(웅파) / 2012/10/26 17:27:07 / 추천 0
불의회상/ session_start()하면 ci것하고 충돌날건데요? 안날래나요? ^^
한대승(불의회상) / 2012/10/26 17:36:17 / 추천 0
웅파// session_start()를 하지 않으면 php session이 제대로 전달 되지 않을거 같은데요 ^^
신의실수 / 2012/10/26 17:51:27 / 추천 0

불의 회상 // 감사합니다. 확인해보겠습니다.
$_SESSION변수에 정상적인 방법으로 설정하지 않고 강제로 넣어줬는데요 ($_SESSION['sess'] = $sess; 이런식으로) 그래도 세션에 저장이 되는지요? 이런  한심한 질문 드려서 죄송합니다.
찾아보니 session_start()를 호출한 코드는 보이지 않습니다.

ci에서 $_SESSION['sess'] = $sess; 해주고, kohana에서 $sess = $_SESSION['sess'] 이러면 값이 안넘어올가요? (우에서 지적한 세션저장디렉토리를 일치시킨 후에)

참 그리고 파폭에서 댓글등록이 안되는데 저만 이런건지.... ㅠㅠㅠ

한대승(불의회상) / 2012/10/26 17:54:35 / 추천 0
일단 아래 처럼 하면 CI에서도 $_SESSION 쓰는데는 지장이 없군요.
테스트는 CI 2.1.3 에서 했습니다.

그리고 imac 파폭에서는 댓글 잘 달리는군요.. ^^
class Welcome extends CI_Controller {
 public function __construct()
 {
  parent::__construct();
  
  session_start();
 }
 
 public function index()
 {
  $_SESSION['test'] = 'test';

  $this->load->view('welcome_message');
 }
 
 public function sess_test()
 {
  echo $_SESSION['test'];
 }
}


변종원(웅파) / 2012/10/26 18:48:45 / 추천 0
불상님 하신것처럼 하고 native php에서 세션 불러오는지 확인해보고, 불러오는데 코하나에서 못 불러오면 코하나 문제가 되겠죠.
신의실수 / 2012/10/26 22:53:53 / 추천 0
불의회상님, 웅파님 그리고 니삼님 고맙습니다.
현재 테스트하고있는데 해결될것 같습니다.
그러니까 session_save_path()는 둘이 일치해야겠죠?

(안되면 또 올립니다. ^^
아 참 그리구 파폭에서 정말 댓글등록이 안되는데 ....  ㅠ_ㅠ     버젼정보     Aurora Firefox 18.0a2 (2012-10-20))

변함없는 배려와 나눔에 항상 감사하고있습니다.
변종원(웅파) / 2012/10/27 09:41:07 / 추천 0
브라우저 정보가 좀 다른거 같네요. 외부라 pc확인이 안되지만 pc에 설치된 파폭에서 정상등록 됩니다. 에디터랑 충돌 나는 것 같은데 브라우저 정보를 등록해서 모바일의 경우처럼 textarea로 뜨게 해야겠네요
신의실수 / 2012/10/29 11:17:12 / 추천 0
웅파님 감사합니다. 꼭 해결해주세요. ^^