WordPress (또는 과거 PHP 프로그램) 에서 UTC 시각이 잘못 표시될 때

WordPress (또는 과거 PHP 프로그램) 에서 UTC 시각이 잘못 표시될 때

▶ 문제점

– WordPress 설정에서 UTC 시각이 표현되야 하는 부분에서 UTC 시각이 아닌 현지 시각이 표시되는 문제가 발견

[ 워드프레스 설정에 들어가면 UTC 시각이 이상하게 표시되고 있습니다. ]

– 이는 워드프레스 게시글 발행 시간이 한국 같은 경우에는 9시간 전으로 표시되는 등, 시각 표시가 이상해지는 문제를 발생시켰음

서버 시간은 정상적으로 표시되고 있었던 것으로 보아, 문제는 PHP 또는 웹서버에서 나타날 가능성이 높았음

[ 리눅스 콘솔에서 date를 입력하면 정상 시각이 표시되고 있음을 알 수 있습니다. ]

 

▶ 해결책 모색

– 일단 PHP에서 UTC로 시각을 변환한 다음에 표기하는 소스를 활용하여 테스트를 진행함

 

– 표시 결과가 UTC로 변경하였음에도 로컬 타임을 UTC로 착각하고 있음 (슬프게도, 한국 시간대인 KST를 평양 시간대로 이해하고 있다. 정말 어이가 없다…ㅠㅠ)

[ UTC 시각이 로컬 시간과 같게 나오는 것을 보니, UTC 타임존이 적용되지 않았음 ]

– 하지만, UTC/GST 시각을 반드시 표기해야 하는 gmdate()는 정상적으로 표시되고 있는 부분이 이상함.

– 결론적으로 PHP 공식 홈페이지에서 확인한 결과, UTC라는 타임존으로 변경하는 것은 앞으로 지양하길 바란다는 메시지를 확인할 수 있었음 (여기)

[ 영어는 잼병이므로 자세한 내용은 읽어보시기 바랍니다…ㅠㅠ ]

 

▶ 해결책

– 일단, date_default_timezone_set(“UTC”); 를 통해 시간존을 바꿀 때는 ‘UTC’라는 표현을 사용하지 않아야 함. (작동하지 않는 경우가 발생하므로)

– UTC 대신, ” Etc/GMT “, 즉 date_default_timezone_set(“Etc/GMT”); 를 사용하면 정상 작동함을 확인할 수 있음

[ 위의 소스코드에서 UTC/GMT 타임존을 해결책 대로 변경한 후의 결과 ]

– 워드프레스의 경우, UTC 시간대를 정해주는 부분이 wordpress 폴더의 wp-settings.php에 위치하고 있으므로, 그 부분의 소스코드를 찾아 다음과 같이 변경할 필요가 있음

– 다음과 같이 변경하면, UTC 시각이 정상 표시되어 시각에 문제가 발생하지 않음을 알 수 있음

 

 

▶ 원인 분석

– 아마도 PHP5때는 잘 작동하던 것이, PHP7이 되면서 잘 작동하지 않는 것 같음 (분명한 사실은 아님)

– 앞으로 PHP 프로그램에서 이런 문제가 파악될 때는, 대체로 ⓐ서버 시간이 제대로 설정되어 있는지, ⓑPHP 소스 코드에서 UTC로 시각을 변환해주는 부분에 문제가 있는지, 를 파악하면 될 것 같음

이런 글들은 어떠신가요?

안드로이드 Chrome에서 모든 시크릿 탭 닫기 알림 해제하기... ▶ 들어가며 안녕하세요, 곰곰입니다. 스마트폰에서 인터넷 서핑을 위해 다양한 브라우저를 이용하시고 있으실 겁니다. 저는 개인적으로 안드로이드 버전의 구글의 크롬을 애용하는데, 다른 브라우저에 비해 완성도가 매우 높고, 다양한 기능 또한 지원하며, 빠르다는 장점을 가지고...
PuTTY(또는 KiTTY등 PuTTY기반 SSH)에서 한글 쉘 사용하기... ▶ 들어가며 PuTTY는 최근 SSH(Secure SHell)을 구동할 수 있는 다양한 클라이언트들이 나와있음에도 불구하고, 강한 능력과 가벼운 프로그램으로 인해 오늘날에도 많이 쓰이고 있는 SSH 클라이언트입니다. 다만, 이 클라이언트가 지속적으로 업데이트 되고 ...
NVIDIA SHIELD TV (엔비디아 쉴드 안드로이드 TV) 간단 동영상 리뷰... 안녕하세요. 곰곰입니다.오늘은 안드로이드 TV인 NVIDIA SHIELD (엔비디아 쉴드 TV)를 동영상 리뷰로 소개하고자 합니다.https://youtu.be/YY6yVIvMhn4 동영상에서 제공되고 있는 스펙 일람 사진은 다음과...
ASUS 공유기에서 개인도메인 CloudFlare DDNS 설정하기 (멀린롬 사용)... 최근 CloudFlare API 개정으로 인해 전체적으로 내용이 바뀌었습니다. 그 내용을 수정해 두었으니 참고해 주세요.  ▶ 들어가며 ASUS 공유기에는 기본적으로 ASUS DDNS(*.asuscomm.com)를 통해 외부에서 도메인을 활용해 유...

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다