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

하다하다 한계에 도달하여..

 

서버, php, mysql 모두 America/New_York 로 설정되어져 있습니다.

라이믹스만 UTC 0에 마춰져있습니다. UTC -0400으로 적용할려면 어떻게 해야 될까요

 

time2.png

time.png

 

제발 살려주세요~

 

  • profile

    정상입니다. 한국 이외의 시간대에서 라이믹스를 설치하면 DB에 기록되는 시간이 모두 UTC로 강제 고정됩니다.

     

    America/New_York은 -0400이 아닙니다. America/New_York은 여름에는 -0400이고 겨울에는 -0500입니다. 만약 지금 -0400으로 설정한다면 겨울에는 서버 시간과 라이믹스 시간이 또 틀어질 것입니다. 둘 중 어느 쪽이라도 그대로 DB에 기록한다면 겨울에 작성한 글은 여름에 1시간씩 틀리게 표시되고, 여름에 작성한 글은 겨울에 1시간씩 틀리게 표시될 것입니다. 써머타임을 사용하는 시간대에서는 항상 발생하는 문제입니다.

     

    현재 설정 상태처럼 "고급 설정" 화면에서 표준 시간대를 뉴욕으로 설정하시면 화면에 표시되는 시간은 1년 내내 뉴욕 현지 시간으로 정확하게 나옵니다. 물론 DB에는 여전히 UTC 기준으로 기록됩니다. zdate 함수 사용시 현재 뉴욕이 써머타임 적용중인지 자동으로 판단하여 UTC를 해당 시간으로 변환해 주거든요. 관리자 화면이나 게시판에서는 모두 정상으로 나올 텐데, 변환되지 않은 상태로 나오는 곳이 있다면 해당 자료에서 함수를 잘못 사용한 것입니다. 반드시 XE/라이믹스 내장 함수를 사용하여 시간을 표시해야 합니다.
     

    자세한 정보는 여기를 참고하세요.

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

     

    설정 파일에서 internal timezone을 -14400으로 변경하시면 DB에도 -0400으로 기록되도록 할 수 있겠지만, 위에서 말씀드렸듯이 써머타임이 끝나면 또다시 1시간씩 틀리게 될 테니 안정적인 해결책은 아닙니다.

  • profile profile
    감사합니다. 임시방편으로 일단 적용은 해두었습니다. ㅜㅜ