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

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

QA

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

본문

안녕하세요.

 

그동안은 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
로 설정하라는 말씀이신가요?

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 15,420
QA 내용 검색
filter #php ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT