2012-04-30 2 views
0

PHP 세션을 사용하는 사이트를 개발하고 있지만 $ _SESSION 배열은 "/index.php"파일 이름이있는 경우에만 작동합니다. "/"와 "/index.php"는 같은 파일을 가리 키지 만, 어떤 이유로 PHP 세션은 "/index.php"가 URL 주소에 시각적으로 존재할 때만 작동합니다. 저는 왜 웹인지 검색했는데 대답을 찾지 못했습니다. 왜 이런 일이 일어나는 지 아십니까?PHP 세션은 실제 index.php를 볼 때만 작동합니까?

* 참고 : 세션은 로컬 호스트의 "/"및 "/index.php"에서 작동하지만 실제 서버에서는 작동하지 않습니다!

+0

모든 PHP 파일에서 세션을 시작 했습니까 ??? –

+0

세션 쿠키 설정을 확인하고 Firefox의 HTTPFox 및/또는 Firebug의 NetTab과 같은 스니퍼를 사용하여 헤더에서 앞뒤로 어떤 변화가 있는지 확인하십시오. –

+0

@vipin :'/'와'/ index.php'는 모두 SAME 스크립트를로드합니다. –

답변

0

동일한 도메인을 찾으십니까? 내 웹 사이트에서이 문제가 발생했습니다. www.example.org는 example.org와 동일한 도메인으로 보이지 않습니다.

또한 PHPSESSID 쿠키가 두 URL에서 동일해야합니다. 그렇지 않은 경우, 다른 세션을로드 중입니다.

+0

www를 추가하려고했습니다. 도메인 전에는 아무런 차이가 없지만 PHPSESSID도 확인했는데 둘 다 동일합니다. 나는 index.php 파일 자체에 테스트 세션 변수를 만들었고 그 변수는 "/"과 "/index.php"모두에 나타나지만 다른 PHP 파일에서 생성 된 세션은 "/ index .php "파일? –

+0

디렉토리 색인은 index.php입니까? 그것이 왜 다르게 될지 모르지만 그것은 내가 생각할 수있는 유일한 논리적 인 것입니다. – Shane

+0

긍정, 저기있어. 나는 그것이 그 것처럼 행동하는 이유에 관해서 난처한 ... –

관련 문제