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로 시각을 변환해주는 부분에 문제가 있는지, 를 파악하면 될 것 같음

이런 글들은 어떠신가요?

ASUS 공유기에서 개인도메인 CloudFlare DDNS 설정하기 (멀린롬 사용)... 최근 CloudFlare API 개정으로 인해 전체적으로 내용이 바뀌었습니다. 그 내용을 수정해 두었으니 참고해 주세요.  ▶ 들어가며 ASUS 공유기에는 기본적으로 ASUS DDNS(*.asuscomm.com)를 통해 외부에서 도메인을 활용해 유...
Moto 360 (1세대) + iPhone Android Wear App 리뷰 (+ 스틸커... 안녕하세요. 곰곰입니다. 오늘은 최근에 구입한 안드로이드 웨어(Android Wear)인 Moto 360을 소개하고자 합니다.Moto 360은 모토롤라의 스마트밴드로써, 다양한 기능을 지원하는 스마트시계입니다. 2015년에 2세대 시계가 나왔음에도, 1세대 시...
Youtube Accelerator 삭제 후 인터넷 접속 불가... ▶ 증상이 시작된 원인 - M4A 파일을 MP3로 변환하기 위하여 간단히 사용할 수 있던 프로그램을 찾던 중 "Free M4a to MP3 Converter" 라는 프로그램을 발견, 그 프로그램을 설치하였음- 문제는 이 프로그램이 설치 중 2가지의 hijack...
인터넷우체국 카드결제(착불요금선결제 등)가 윈도우10 등에서 안될 때... ▶ 문제점 - 윈도우 10을 사용하는 컴퓨터에서 인터넷우체국 카드결제(착불요금선결제 등)를 시도할 때 실패하는 증상이 나타남- 에러는 ' 통신모듈 호출 에러입니다!! 전화문의(02-3416-2900) ' 이라고 기재되어 있음 - 필자의 경험에 의하면 ...

댓글 남기기

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