CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.1 |
안녕하세요.
현재 관리자 메뉴-시스템 설정-고급설정에서 표준 시간대를 아래와 같이
America/New York 으로 사용하고 있고
PHP.ini에도 America/New York으로 설정되어 있음을 확인 했습니다.
글을 등록하면 타임 스탬프가 정확하게 잘 표시가 됩니다.
그런데 알림에서는 계속 60분 전으로 뜨네요.
그리고 관리자 메뉴에서 서버환경표시를 해보면
현재 시간과는 다르게 1시간 차이가 납니다. -5 인데 -4로.
즉 01:47이어야 하는데 02:47분으로 표시가 되네요.
이것 때문에 알림에서는 60분 전으로 표시가 되는 것 같은데
11월 초에 써머타임이 끝났습니다.
이거랑 무슨 상관이 있을까요?
superbox
Lv. 4
댓글 6
알림센터에서 시간차를 계산하는 기능이 코어에서 설정한 표준 시간대를 참조하지 않는 모양이군요. 원래 XE에서 쓰던 모듈이다 보니...
서버 환경 표시에 나오는 date는 서버 O/S에서 설정된 표준 시간대입니다. 밑에서 default_timezone이 제대로 설정되어 있다면 O/S에서 설정된 표준 시간대는 그냥 참고사항일 뿐, 코어에서 참조하지 않습니다. 그러나 잘못 작성된 모듈이라면 라이믹스 코어 설정을 무시하고 O/S 설정을 따라갈 수도 있습니다.
O/S에서는 왜 써머타임을 따라가지 않고 있는지 확인해 볼 필요도 있겠고요. 해외 호스팅 업체들 중 GMT도 아니고 현지 시간도 아니고 어정쩡한 시간으로 서버를 맞춰놓는 개념없는 곳이 여럿 있습니다 ㅡ.ㅡ
'default_timezone' => 'America/New_York',
'internal_timezone' => -18000,
db.config.php에서도 -0400으로 되어 있는 것을 'time_zone' => '-0500', 으로 고쳤습니다.
internal_timezone은 설치 후에는 절대로 변경하시면 안됩니다. DB에 저장된 각종 시간 정보(가입 일시, 글 작성 일시...)가 GMT 기준으로 얼마나 차이나는지 기록해 놓은 변수이기 때문에, 그걸 바꾸면 예전에 쓴 글의 시간이 모두 틀리게 나옵니다. 바꿨다가 원래대로 되돌리면 그 사이에 쓴 글의 시간이 틀리게 나오고요. 3600의 배수라면 어떤 숫자여도 상관은 없지만, 일단 한 번 정했으면 사이트 운영을 접을 때까지 그대로 가져가야 하는 설정입니다.
https://github.com/rhymix/rhymix-docs/blob/master/ko/misc/timezone.md
알림센터에서 고쳐야 할 문제이지, 코어 설정을 바꿔서 땜빵할 문제가 아닙니다.