로그인 세션 시간이 5분 내외로 끊깁니다.

로그인 세션 시간이 5분 내외로 끊깁니다.

QA

로그인 세션 시간이 5분 내외로 끊깁니다.

답변 4

본문

안녕하세요.

 

그동안은 1시간 정도 유지되고 있었는데

1주일 전부터 갑자기 세션 시간이 5분 내외로 끊기고 있습니다.


아래 경로의 파일들에서 해당 값을 2시간으로 늘렸는데도 
로그인 세션 시간이 5분 내외로 계속 끊기네요. 

 

사전에 몇 가지 작업이 있었습니다.

 

- 24.7월 경 : 세션 파일이 있는 스토리지 서버(ip x.x.x.100) --> new 스토리지 서버(ip x.x.x.101)로 변경하고 
리눅스 centos7에서 새로운 스토리지 서버로 경로를 잡아주었고 현재 잘 생성되고 있습니다. 
세션 파일은 1시간 정도 유지되고 있습니다.

 

- 24.9월 중순 : SSL을 새로 갱신해서 설치했습니다. L7 장비에 설치, 세션 시간 2시간 변경


아래 방법 외에 다른 곳을 수정해야 하는 부분이 있을까요? 

꼭 좀 도움 부탁 드려요.

감사합니다.

 

 

 

1. common.php
ini_set('session.cache_expire', 120);       // (분) 2시간 
ini_set('session.gc_maxlifetime', 7200);   // (초) 2시간


2. /etc/php.ini
session.cache_expire = 120
session.gc_maxlifetime = 7200

- httpd 재시작함
- phpinfo() : 위 설정치가 정확히 나옴


3. L7 SSL 세션 : 2시간 설정


4. 스토리지 서버(세션 파일 경로) 소유자 권한
- 현재 L7에서 로드 밸런싱으로 다수 웹서버 운영하여 세션 파일을 한 대 스토리지 서버에서 생성하고 공유
- 세션 파일은 1시간 정도 유지 

 

전체 경로: /storage/comm/benevento/session

 

폴더: /storage/comm : root root  555
폴더: /benevento  : apache apache  771
폴더: /session  : apache apache  771
세션 파일: sess_011ommgv~~~~~~~~~~~ :  apache apache 664


5. 세션 시간이 30분 이상 늘어나지 않아서 사용자가 로그인한 페이지를
15분 마다 재로딩시켜주는데도 세션 시간이 30분 이상 지속되지 않네요.

setInterval(function() {
  location.reload()
}, 900000);

 

이 질문에 댓글 쓰기 :

답변 4

세션은 디렉토리 707로 해야됩니다. 나머지 755로 선언하더라도 쓰기권한 있어야되요

리오닥터님, 답변 감사합니다.

잘 이해가 안 돼서 그런데요
아래 폴더들 모두 각각 707로 하라는 말씀이신가요?
아니면 마지막 session 폴더만 707로요?
세션 파일 권한은 755로 하면 되나요?
어떤 걸 707로 하고 어떤 걸 755로 하면 될까요?

폴더: /storage/comm : root root  555
폴더: /benevento  : apache apache  771
폴더: /session  : apache apache  771
세션 파일: sess_011ommgv~~~~~~~~~~~ :  apache apache 664

일단 data 폴더는 707 로 해주세요 하위까지 하시고 파일은 644 이구요
세션이 기록 안쌓여서 그런거 아닌가요?
현재 세션 경로가 외부로 부터 있을수도있어서.. 디폴트가 외부로 선언되고 경로를 제대로 선언되면 세션이 쌓이거든요

리오닥터님, 답변 감사합니다.

말씀처럼
/storage/comm/benevento/session를 707로
세션 파일을 644로 설정했는데도
세션시간을 여전히 5분 안쪽이네요.
현재 세션 파일음 모두 잘 생성되고 있고
1시간 정도 유지되고 있습니다.

php 설정에 세션파일 삭제 주기 관련 설정이 있을거에요.

 

thumb-1982090681_1729058816.8602_730x712.png

 

https://teserre.tistory.com/8


chmod -R 707 /storage/comm/benevento/session
chmod 644 /storage/comm/benevento/session/*

 

해보시거나

 

gc_probability 하고 gc_divisor 비율 1 로 해보시는걸 추천드립니다.

블로거님, 답변 감사합니다.

말씀처럼 session 폴더를 707, 세션 파일을 644로 변경했는데도 안 되네요.
현재 gc_probability=1, gc_divisor=1000 으로 설정되어있는데요
비율을 1로 하라는 것은
gc_probability=1, gc_divisor=1
로 설정하라는 말씀이신가요?

마지막으로 세션 생성 후 만료시간 채크 해보세요..

이건 생성 후 문제가 아니라 아예 생성이 안되는수도있어서요..

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php ×
전체 15,424
© SIRSOFT
현재 페이지 제일 처음으로