웹호스팅을 쓰는 입장에서 php.ini 를 수정하여 세션 시간을 조절할 수 없어서 구글링을 통해 여러가지 방법을 알아내어 적용하다 제대로 적용된 내용을 적어보았다.
- .htaccess 파일 생성 또는 수정으로 세션 값 넣기
해당 파일 안에 아래처럼 넣었다.<IfModule mod_php5.c> #Session timeout php_value session.save_path "/경로/폴더명" php_value session.cookie_lifetime 86400 php_value session.gc_maxlifetime 86400 </IfModule>
위에 보면 save_path라고 있다.
세션 파일들을 저장하는 경로를 설정하는 것인데 서버에 폴더 하나 만든 뒤 권한을 777로 설정한다.
/경로에는 절대 경로를 넣어야하는데 호스팅을 이용하는 사람이라면 절대경로가 ftp에서 보이는 경로처럼 넣으면 안될 수도 있다.
서버로 부터 절대 경로를 모른다면 basename(__FILE__) 과 realpath(__FILE__) 를 이용한 절대 경로 알아내는 방법을 검색해 찾아보길 바람.
86400 은 24시간을 말한다. (24시간을 초로 환산하면 86400초) - 위 처럼 한 뒤에도 안되서 인클루드 되는 php 파일에 아래 코드를 추가했다.
$sessdir = "/경로/폴더명"; ini_set( "session.save_path", $sessdir); session_start(); session_cache_limiter('private'); ini_set("session.cookie_lifetime", "86400"); ini_set("session.cache_expire", "86400"); ini_set("session.gc_maxlifetime", "86400");
위 두가지 방법 중 한가지 방법으로 했을 때 성공하면 다른 방법은 안써도 될 것 같다.