2011-01-02 3 views
0

저는 개발 로컬 서버 (WAMP)와 원격 서버 (LAMP)를 가지고 있습니다. 두 개의 거의 동일한 php.ini 세션 구성이 있더라도, 세션이 원격 서버에서 24 분 동안 사용되지 않으면 세션이 만료되고 (이는 session.gc_maxlifetime 구성의 원인입니다) 로컬 서버에는 절대로 발생하지 않습니다 ...php.ini가 거의 동일한 경우에도 세션은 동일한 방식으로 동작하지 않습니다.

글쎄, 적어도 두 서버에서 동일한 동작이 예상됩니다. ,하지만 그렇지 않다. (이상적으로 나는 원격 서버에 "브라우저가 닫힐 때까지 만료시키지 마라."라고 생각한다.) php.ini의 세션 "zone"과 별도 나는 그들이 같은 방식으로 행동하도록 확인해야합니까?

지역 : http://www.ivanhalen.com/phpini/local.png

원격 :

여기 두 개의 스크린 샷있는 답변

답변

1

잘 사전에 http://www.ivanhalen.com/phpini/remote.png

감사합니다, 적어도 우리는 원격 서버가 무엇을 수행 말할 수있다 그에게 물었다. 문제가 wamp 서버에 있습니다. 세션은 24 분 후에 만료됩니다. theres 확실하게 뭔가 잘못된 귀하의 wamp 설치합니다.

로컬 wamp 설치가 충분한 요청을받지 못하기 때문에 이는 마찬가지 일 수 있습니다. 가비지 콜렉션은 확률 팩터 (gc_probability/gc_divisor)로 수행됩니다. 따라서 많은 요청을 실행하지 않으면 설치 가능성이 1 %에 미치지 못하고 세션의 가비지 수집이 발생하지 않습니다.

그리고 긴 세션을 원할 경우 gc_maxlifetime 설정을 늘리십시오. 그러나주의해야합니다. 높은 트래픽으로 인해 서버에서 사용되지 않는 세션 파일이 많이 생성 될 수 있습니다.

+0

그래, 내 로컬 웹 서버에 많은 요청을하지 않기 때문에 (원격 서버가 공유 된 요청인데 - 천만 건의 요청과 같음) becaouse 일 것입니다. – Ivan

관련 문제