세션파일 용량 관련해서 추가질문 드립니다.
본문
서버호스팅을 사용중이고요. 한 서버 내에 여러개의 사이트를 함께 운영중인데요.
사이트 아래부분에
그누보드설치경로/data/sess_0c2e78753ab7d215fc4078f8b6d60bc8, O_RDWR) failed: No space left on device (28) in Unknown on line 0
이렇게 표시가 되고, 로그인이 안되다가 세션폴더내에 있는 파일을 지우면 다시 로그인이 되네요.
문의 드릴 것은 그런데, 서버 전체 용량은 50% 미만으로 사용중인데, 전체 서버용량과는 별도로
세션폴더의 용량이 여유가 있어야만 이런 오류가 안나는 걸까요?
세션파일은 사이즈가 크지 않아서, 전체 용량에 미치는 영향은 미미한데,
세션폴더의 한계용량을 늘리는 방법이 있을까요?
답변 2
서버 전체 용량체크는 서버가 하나의 파티션에만 할당되어있다면 체크해야 되지만 파티션이 나눠져 있다면 폴더별 체크해야 합니다.
참고하세요.
세션 저장 경로는
config.php 파일
define('G5_SESSION_PATH', G5_DATA_PATH . '/' . G5_SESSION_DIR);
로 정의되어 있습니다.
기본값이 그누보드/data/session 입니다.
서버에 /tmp 사용가능하다면
define('G5_SESSION_PATH', '/tmp');
로 변경해 보세요
또는 php 기본 세팅을 이용하도록
common.php 파일 204라인
//session_save_path(G5_SESSION_PATH);
를 주석처리 해보세요.
다른 파티션에 여유 용량이 있으면
리눅스 운영체제이면 심볼릭 링크를 걸어서 해결할수 있습니다.
심볼릭 링크 명령어
ln -s 다른파티션의적당한폴더의절대경로 session(링크를할바로가기명)
심볼릭 이렇게 링크를 걸고 다른파티션의적당한폴더의절대경로 에 디렉토리소유자, 디렉토리권한 등을 설정해 주셔야 합니다.
사용하는 운영체제가 리눅스계열이면, 리눅스 심볼릭 링크 명령어, 디렉토리소유자, 디렉토리권한 등에 어느정도 지식이 있어야 이 작업을 할수 있습니다.