2012-08-02 4 views
0

IIS를 완전히 이해하지 못하는 이상한 상황이 있습니다.PHP 세션이 끊어졌습니다. IIS의 여러 사이트가 있습니다.

우리는 IIS에 두 개의 웹 사이트 (this method을 사용하여 구성했습니다)가 있습니다. 하나는 예를 들어 "https://theServerName.domain.com"이고 다른 하나는 "https://development.domain.com"입니다. 두 번째는 기본적으로 'live'하기 전에 변경 사항을 테스트 할 수 있도록하는 첫 번째 클론입니다.

  • 인덱스 페이지가로드 세션이 존재하지 않는 경우, 세션에 대한 페이지 검사가, 사용자가 로그인 페이지 대신
  • 로 전송 다음과 같이

    로그인 스크립트가 작동 사용자가 로그인하면 자격 증명이 데이터베이스에 대해 확인됩니다. 자격 증명이 유효하면 세션이 만들어지고 사용자가 인덱스 페이지로 다시 전송됩니다.

"theServerName.domain.com"에 대해 완벽하게 작동합니다. 그러나 "developer.domain.com"에 로그인하면 세션이 만들어 지지만 색인 페이지로 다시 보내면 페이지에서 세션을 확인하고 찾을 수 없습니다.

도메인이 로그인 페이지와 로그인 유효성 검사 페이지에서 동일하기 때문에 당황 스럽습니다. 따라서 여러 웹 사이트 상황이 혼란 스러울 때만 생각할 수 있습니다.

아이디어가 있으십니까?

편집 1 :이 단지 IE 8에서 일어날 것으로 보인다 것입니다 정보의 중요한 비트를 잊어 - 테스트 및 9

파이어 폭스 14.0.1, 오페라 12.01, 크롬 21.0와 IE에서 작업 편집 2 :이 도움이되지만 IE 9 오류 던졌습니다 "Internet Explorer 보안 강화 구성에 의해 차단 된 아래의 웹 사이트에서 콘텐츠를. javascript : // void (0)"(이것은 " 이 웹 사이트를 계속 진행하십시오. (권장되지 않음). 인증서가 설치되지 않아서입니다.

+0

세션 쿠키 설정을 확인하십시오. 세션 쿠키 설정이 너무 엄격하고 정확한 호스트 이름으로 설정되어 동일한 도메인의 유사한 호스트간에 공유가 허용되지 않을 수 있습니다. –

+0

"developer.domain.com"인스턴스의 페이지 상단에'session_start()'가 있습니까? – Don

+0

답장을 보내 주셔서 감사합니다 Marc B - 쿠키 설정은 다음과 같습니다 : session.cookie_path =/session.cookie_domain = 그리고 두 사이트가 동일한 서버에 있으므로 동일한 php.ini Blaine을 사용하고 있습니다 - 예, session_start ()는 모든 페이지에 포함 된 'header.php'파일에 있습니다. 게다가이 사이트는 원본 (https://theServerName.domain.com) 사이트의 파일 용 파일 복사본이므로이 모든 사이트는 설정이 동일합니다 – valoukh

답변

0

마지막으로이 문제는 밑줄이 있기 때문에 입니다. IIS 가상 디렉터리/응용 프로그램, this answer에서 도움을 받으십시오.

관련 문제