2011-11-20 3 views
3

내 Apache public_html 루트 아래에 2 개의 프로젝트가 있습니다. 하나는 "/ project1"이고 다른 하나는 "/ project2"입니다. 프로젝트 2는 프로젝트 1과 중복되지만 다른 목표에 맞게 수정되었습니다. 그들은 같은 핵심 코드를 가지고 있으므로 사용되는 세션 이름은 동일합니다.어떻게 쿠키 경로가 적용되지 않습니까?

ini_set("session.cookie_path","/project1"); 
session_name("sid"); 
session_start(); 

그리고 프로젝트 2와 매우 유사 :

나는 프로젝트 1 이런 식으로 세션을 초기화

ini_set("session.cookie_path","/project2"); 
session_name("sid"); 
session_start(); 

경로가 너무도 여기에 같은 쿠키 이름 (와, 동일하지 쿠키 'sid'), PHP는 그들을 차별화 할 수 있어야합니다.

그러나 재미 프로젝트 1 로그인을 관리자에 때, 다음 프로젝트 2의 관리자는 또한 흥미롭게에 기록된다는 점이다

+1

저에게 잘 작동합니다. Firefox는 경로와 세션 ID가 다른 두 개의 쿠키를 보여줍니다./project1은/project2에서 내 세션의 내용을 볼 수 없습니다. 브라우저가 별도의 쿠키를 만들고 있는지 확인할 수 있습니까? – Wiseguy

+0

@Wiseguy tks 제안에 대해 모든 쿠키 경로가 올바른 것으로 나타 났지만 쿠키 경로 '/'가 하나만 보이는 코드 행은 내가 보지 않은 함수에 숨어 있습니다. 그래서 모든 것이 뿌리처럼 보였습니다. – jondinham

+1

해결하면 아마 스스로에게 대답해야합니다. 미래의 사용자를 도울 것입니다. – Phil

답변

1

추가 할 수 있도록 경로 및 만료없이 쿠키를 좋아하지 않아 일부 브라우저. :

session_regenerate_id(); 
:

ini_set('session.cookie_lifetime', 3600); 

세션 쿠키를 추가 할 수 으로 session_start() 후, 업데이트 된 만료 시간, 쿠키를 다시 보내 PHP를 강제로 후 (없는 경우) PHP로 한 번만 전송