안녕하세요.
그동안은 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개 / 댓글 11개
마지막으로 세션 생성 후 만료시간 채크 해보세요..
이건 생성 후 문제가 아니라 아예 생성이 안되는수도있어서요..
chmod -R 707 /storage/comm/benevento/session
chmod 644 /storage/comm/benevento/session/*
해보시거나
gc_probability 하고 gc_divisor 비율 1 로 해보시는걸 추천드립니다.
답변에 대한 댓글 2개
세션은 디렉토리 707로 해야됩니다. 나머지 755로 선언하더라도 쓰기권한 있어야되요
답변에 대한 댓글 7개
잘 이해가 안 돼서 그런데요
아래 폴더들 모두 각각 707로 하라는 말씀이신가요?
아니면 마지막 session 폴더만 707로요?
세션 파일 권한은 755로 하면 되나요?
어떤 걸 707로 하고 어떤 걸 755로 하면 될까요?
폴더: /storage/comm : root root 555
폴더: /benevento : apache apache 771
폴더: /session : apache apache 771
세션 파일: sess_011ommgv~~~~~~~~~~~ : apache apache 664
답변을 작성하려면 로그인이 필요합니다.
세션 파일 및 세션 아이디도 모두 잘 생성되고 있었습니다.
세션 파일은 1시간 유지되는데 세션 시간은 5분 내외로 끊어졌습니다.