질문/조언질답게시판
Extra Form
PHP PHP 7.1
CMS Rhymix

안녕하세요.

현재 관리자 메뉴-시스템 설정-고급설정에서 표준 시간대를 아래와 같이

America/New York 으로 사용하고 있고

time.PNG

PHP.ini에도 America/New York으로 설정되어 있음을 확인 했습니다.

글을 등록하면 타임 스탬프가 정확하게 잘 표시가 됩니다.

 

그런데 알림에서는 계속 60분 전으로 뜨네요. 

그리고 관리자 메뉴에서 서버환경표시를 해보면 

time1.PNG

현재 시간과는 다르게 1시간 차이가 납니다. -5 인데 -4로.

즉 01:47이어야 하는데 02:47분으로 표시가 되네요.

이것 때문에 알림에서는 60분 전으로 표시가 되는 것 같은데

11월 초에 써머타임이 끝났습니다.

이거랑 무슨 상관이 있을까요?

 

 

  • ?
    내 알림 목록에서는 정확하게 나오고 알림 팝업창에서만 60분 전이라고 나오네요.
  • profile

    알림센터에서 시간차를 계산하는 기능이 코어에서 설정한 표준 시간대를 참조하지 않는 모양이군요. 원래 XE에서 쓰던 모듈이다 보니...

    서버 환경 표시에 나오는 date는 서버 O/S에서 설정된 표준 시간대입니다. 밑에서 default_timezone이 제대로 설정되어 있다면 O/S에서 설정된 표준 시간대는 그냥 참고사항일 뿐, 코어에서 참조하지 않습니다. 그러나 잘못 작성된 모듈이라면 라이믹스 코어 설정을 무시하고 O/S 설정을 따라갈 수도 있습니다.

     

    O/S에서는 왜 써머타임을 따라가지 않고 있는지 확인해 볼 필요도 있겠고요. 해외 호스팅 업체들 중 GMT도 아니고 현지 시간도 아니고 어정쩡한 시간으로 서버를 맞춰놓는 개념없는 곳이 여럿 있습니다 ㅡ.ㅡ

  • profile ?
    감사합니다. /files/config/config.php에서 14400 이었던 부분을 18000으로 수정하니 해결되었습니다.
    'default_timezone' => 'America/New_York',
    'internal_timezone' => -18000,
    db.config.php에서도 -0400으로 되어 있는 것을 'time_zone' => '-0500', 으로 고쳤습니다.
  • ? profile

    internal_timezone은 설치 후에는 절대로 변경하시면 안됩니다. DB에 저장된 각종 시간 정보(가입 일시, 글 작성 일시...)가 GMT 기준으로 얼마나 차이나는지 기록해 놓은 변수이기 때문에, 그걸 바꾸면 예전에 쓴 글의 시간이 모두 틀리게 나옵니다. 바꿨다가 원래대로 되돌리면 그 사이에 쓴 글의 시간이 틀리게 나오고요. 3600의 배수라면 어떤 숫자여도 상관은 없지만, 일단 한 번 정했으면 사이트 운영을 접을 때까지 그대로 가져가야 하는 설정입니다.


    https://github.com/rhymix/rhymix-docs/blob/master/ko/misc/timezone.md


    알림센터에서 고쳐야 할 문제이지, 코어 설정을 바꿔서 땜빵할 문제가 아닙니다.

  • profile ?
    그렇군요. 그 사이에 올라온 글이 없어서 다시 원래대로 되돌렸습니다. 그러니까 제 경우엔 한시간 정도를 수정했는데 수정 이전의 글들이 1시간 정도가 틀리게 나온다는 말씀이지요? 알림센터를 또 천천히 살펴 봐야겠네요. ㅠㅠ
  • profile ?
    말씀 주신대로 씨름하다가 function getAgo 부분을 찾아서 드디어 해결했습니다. 아직까지는 작동에 문제가 없네요. ^^; 다시 한번 감사드립니다.

서버에 요청 중입니다. 잠시만 기다려 주십시오...