[php] 쿠키유지시간 개념이 시스템마다 일정하지 않은 이유...
지금부터 저의 글은 제가 모두 직접 확인하고 여러번 반복해본 사실입니다.
정말 이상한 현상이 발견되었습니다. 저의 지식으로는 도저히 설명할수 가 없습니다.
우선 php쿠키에 대해 제가 알고있는 상식은
유지시간을 0로하면 쿠키는 실제로 파일로 생성되지는 않는다는것!
그리고 유지시간을 time()+0 로 하면 그때부터는
time()+1
time()+2
.
.
그 다음부터는 쿠키파일이 생성됩니다.
또한 유지시간 time()+a에서 +a값은 디폴트가 몇백초이기 때문에 (물론 이부분은 서버마다
다를수 있다고 생각합니다.)
설령 time()+1이라고 잡았더라도 실제로 파일은 1초가 아니라 몇백초 후에나 그효력을
상실합니다.
이상은 제가 저희 집 컴터에서 윈98에서 pws를 설치해서 직접확인해본 결과입니다.
오늘 학교전산실에서 해보니..
setcookie('NOTICE_OPENED', $NOTICE_OPENED.'|'.$no , time()+336 , '/');
이와같은 함수로 쿠키를 생성하면 쿠키가 생성이 되는것은 cookie폴더에서 확인할 수 있습니다.
setcookie('NOTICE_OPENED', $NOTICE_OPENED.'|'.$no , time()+335 , '/');
이와 같이 하면 쿠키가 생성이 되지 않습니다.
재부팅후에는
setcookie('NOTICE_OPENED', $NOTICE_OPENED.'|'.$no , time()+338 , '/');
이와같은 함수로 쿠키를 생성하면 쿠키가 생성이 되는것은 cookie폴더에서 확인할 수 있습니다.
setcookie('NOTICE_OPENED', $NOTICE_OPENED.'|'.$no , time()+337 , '/');
이와 같이 하면 쿠키가 생성이 되지 않습니다.
커트라인이 생겨버립니다.
첫째 , 이부분이 이상합니다 왜 이런 현상이 나타나는지.. 그리고 그 커트라인조차 일정하지
않는지 정말 모르겠습니다.
둘째, 더욱 이상한것은 쿠키가 생성되지 않는 time()+0 ~ time()+335 or 336 이부분에서는
쿠키가 제역할을 하지 못한다는것입니다.
그리고 쿠키가 처음 생성되는 time()+338 이시각은
쿠키의 실제 유효시간이 338초가 아니라 0초이며
예를들어 time()+348은 유효시간이 348초가 아니라 10초입니다.
10초뒤에는 게시판의 카운트가 올라가는것을 볼 수 있습니다.
정말 이상합니다
[앞서 말씀드린 디폴트타임과 관련이 있는것이라고 생각했었습니다.]
php관련 실력있으신 여러분들의 답변을 기대합니다.
두가지 답변부탁드립니다.


phpschool 에서 답변을 찾는게 더 빠르지 않을까요?물론 여
phpschool 에서 답변을 찾는게 더 빠르지 않을까요?
물론 여기에도 많은 고수분들이 계시겠지만...
ps: 집에와서 해보니 앞서 말씀드린 쿠키생성 경계값이 54이군요..
ps: 집에와서 해보니 앞서 말씀드린 쿠키생성 경계값이 54이군요.. time()+55부터는 생성이
됩니다. 물론 +55는 0초로 보는거 같습니다. 또한 재부팅후에는 경계값이 55가 되어있었습니다.
추측하건데.. 경계값은 계속바뀌며.. 현재시각과 관련이 있는거 같습니다. 정말 이상합니다.
전에는 안그랬는데 서버에서 어떠한 변화가 있었는지 모르겠습니다.
리눅스서버이고 레드헷9.0입니다. 학교 동아리서버입니다.