2009-10-07 2 views
0

문제는 내가 가입하고, 트위터를 인증 한 다음 트위터가 PHP 스크립트 (B)를 반환한다는 것을 PHP 스크립트 (A)가 가지고 있다는 것입니다. 스크립트 (A)에서 일부 $ _SESSION 변수를 설정하고 스크립트 (B)에서 가져옵니다. 아주 똑바로 전진. 나는 그것을 내 컴퓨터에서 테스트했으며, 모두 작동한다. 스크립트 (A)에 의해 설정된 스크립트 (B)의 세션 변수를 볼 수 있습니다. 내 친구처럼. 그러나 가장 중요한 것은 내 상사의 컴퓨터가 그것을 볼 수 없다는 것입니다! 그게 최악이야. 그는 또한 자신의 컴퓨터에서 시험을 보았지만 아직 끝나지 않았습니다.한 컴퓨터에서는 PHP 세션이 비었지만 다른 컴퓨터에서는 비어 있습니다. 기묘한!

심지어 재부팅하고 서버를 다시 시작하지만 여전히 상황은 동일합니다.

제 질문은, 서버가 컴퓨터에서 세션을 설정할 수 없다는 제한이 있습니까? 또는, 어떤 상황에서 서버가 세션을 설정하지 못합니까?

서버 : Apache 2.2.3. Plesk 사용 PHP : 5.2.5

+0

"트위터가 PHP 스크립트로 돌아온다"는게 무슨 뜻입니까? – timdev

+0

기본적으로 신청자는 등록을 위해 Twitter를 사용합니다. so ... 스크립트 (A) -> 트위터로 리디렉션, 트위터로 리다이렉트 (B) 실제로 그 부분에 중요하지 않습니다. :) 스크립트 (A)와 스크립트 (B)에서 session_start()가 있습니다. 일반적으로 스크립트 (A)에서 설정 한 $ _SESSION이 무엇이든 스크립트를 통해 얻을 수 있습니다 (B). 그것은 내 컴퓨터와 내 친구의 컴퓨터에 아무런 문제가되지 않습니다. 내 상사의 컴퓨터는 (B)에서 $ _SESSION 변수를 보지 못합니다. – Murvinlai

답변

0

세션이 실패한 것이므로 클라이언트가 요청할 때마다 동일한 세션을 사용하고 새 세션이 아닌지 확인하십시오. 세션 ID가 제대로 전달되는지 확인하십시오. 세션 쿠키를 사용하는 경우 유효성 설정을 확인하고 세션 쿠키가 클라이언트에 허용되는지 확인하십시오. PHP Session/Cookie problems with Windows XP, Vista, IE and certain users을 참조하십시오.

+0

예 .. 동일한 세션입니다. (필자는 내 친구의 컴퓨터에서 작동하지 않을 것입니다. 코드에서도 확인하고 확인했습니다). – Murvinlai

3

어쩌면 어리석은 질문 일지 모르지만 어쨌든 ... 컴퓨터에서 상사가 쿠키를 차단합니까?

그 이유는 PHP가 쿼리 문자열 (또는 리디렉션이 어떻게 든 제거 된 상태)을 통해 세션 ID를 전달하는 것으로 '되돌아 가지 않도록'설정 되었기 때문일 수 있습니다.

+0

번. 블록이 없습니다. 그냥 확인해. sessionid가 변경되는 문제입니다. 엄청 이상해. – Murvinlai

1

세션 ID는 세션에 숨어있는 아이디어이기 때문에 컴퓨터마다 다릅니다. 각 방문자 (세션 ID)에 숫자를 할당하고 각 사용자 $ _SESSION 배열에 사용자를 식별하고 정보를 저장할 수있는 번호로 세션 ID를 할당합니다. 이 배열은 해당 단일 세션/사용자에게만 제공됩니다.

사이트의 모든 방문자에 대해 데이터를 저장하려는 경우 데이터베이스 또는 서버 측 캐시를 사용할 수 있습니다.

관련 문제