300x250
반응형

이 글을 보시는 분들은 다른사이트에서 

session.cookie_lifetime  

session.cache_expire 

관련 변수를 변경하였는데 세션유지가 안되서 이 글을 보고있을 껍니다.

 

 

세션 설정 외에도 GC(c#의 garbage collection) 이라고 하는 동작이 있습니다.

관련 설정 변수는 아래 3개 입니다. 아마 아래와 같은 기본값으로 설정되어 있을껍니다.

session.gc_probability = 0

session.gc_divisor = 1000    <-- 1/1000 으로 0.1% 확률로 쿠키파일이 청소 됩니다.

session.gc_maxlifetime = 0

 

 

아래와같이 수정해보세요

저는 etc/php/5.6/apache2 경로에 있는 php.ini를 수정하겠습니다.

 

아래와 같이 vi 편집기로 php.ini 파일을 열어줍니다.

 

session.cookie_lifetime = 0

session.cache_expire = 14400  (분단위)

session.gc_maxlifetime = 65535    <-- 대략 16시간 마다 쿠키파일이 청소되게 하였습니다. (초단위)

 

 

:wq! 로 수정 후 나와서

아래와 같이 꼭 아파치를 재시작 해줘야 합니다.

service apache2 restart

 

 

세션 30일 저장 만든 php 설정 값 입니다.

 

 

 

자동 로그인 처리(저장된 세션 쿠키 사용)

 

로그인 시 savesession 이라는 쿠키를 만들어서 PHPSESSIONID 값을 저장 합니다.

이후 브라우저를 다시 켰을때 만약 savesession 쿠키 값이 있으면
저장했던 savesessino 쿠키 값으로 PHPSESSIONID 필드를 만들어서 값을 넣습니다.

이렇게 되면 서버에 세션(30일)이 남아있는한 무한 자동 로그인이 됩니다.

 

 

 

 

 

세션정보는 파일관리로 했을경우 아래 경로에 저장 됩니다.

/var/lib/php/sessions 

만약 세션설정이 실패 했다면, 이 경로의 파일들의 수정날짜를 보면 30분전 파일은 다 지워진걸 확인 할 수 있습니다.

 

php 소스에서 수정시에는 session_start 하는 코드에 입력되어야 합니다.

session_cache_limiter('private');
ini_set("session.cookie_lifetime", "0");
ini_set("session.cache_expire", "14400");
ini_set("session.gc_maxlifetime", "2592000");

session_start();

 

300x250
반응형
300x250
반응형

 

 

button 또는 input 등 여러 값을 동시에 받고 싶을때

data-변수명 으로 넣어놓으면

 

 

.data(변수명) 으로 데이터 접근 가능

<button class="btn_test" 
data-data1="값1" data-data2="값2" data-data3="값3" </button>



<script>
$('.btn_test').on('click', function(e)
{
	var data1 = $(this).data('data1');
	var data2 = $(this).data('data2');
	var data3 = $(this).data('data3');    
});
</script>

 

 

[정보가 도움이 되셨다면 광고 배너 클릭이 글쓴이의 활력이 됩니다.]

감사합니다.

300x250
반응형
300x250
반응형

매번 브라우저 캐시를 삭제해야 화면이 갱신 되지만

 

아래와 같이 파라미터를 뒤에 넣게 되면 캐쉬 갱신을 안해도 업데이트가 됨

    <link type="text/css" rel="stylesheet" href="/css/style.css?ts=1569483445">
    <script type="text/javascript" src="/js/jquery.min.js?ts=1569483445"></script>

 

 

[정보가 도움이 되셨다면 광고 배너 클릭이 글쓴이의 활력이 됩니다.]

감사합니다.

300x250
반응형
300x250
반응형

 

 

 

PC 페이지 (공통 include 파일)

session_set_cookie_params(0, '/');
@session_name('mysession');
echo '<br>'.session_id(); 
    
session_start();

 

모바일 페이지(공통 include 파일)

session_set_cookie_params(0, '/');
@session_name('mysession');
echo '<br>'.session_id(); 

session_start();

 

두개 페이지를 넣고 실행 했을때 session_id가 똑같이 나오면 성공

 

 

 

 

그리고 마지막 로그인 처리 때

session_set_cookie_params(0, '/');
@session_name('mysession');
    
session_start();

//로그인 성공 시 저장될 세션 변수 입력
$_SESSION['USERID'] = '아이디';
$_SESSION['LEVEL'] = '등급';

 

모든 session_start(); 시작 앞부분에

위에 2줄을 넣어줘야 합니다 ~

 

 

[정보가 도움이 되셨다면 광고 배너 클릭이 글쓴이의 활력이 됩니다.]

감사합니다.

300x250
반응형

+ Recent posts