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

이런 글들은 어떠신가요?

Microsoft Sculpt Comfort Bluetooth Mouse 간단 리뷰... 안녕하세요. 곰곰입니다.최근 사용하고 있던 로지텍 마우스가 왼쪽 버튼이 잘 안눌리던 관계로(ㅠㅠ), 마이크로소프트의 스컬프트 컴포트 마우스(Microsoft Sculpt Comfort Mouse)를 구매했기에 리뷰를 올리려고 합니다.블루투스 마우스를 구매...
Youtube Accelerator 삭제 후 인터넷 접속 불가... ▶ 증상이 시작된 원인 - M4A 파일을 MP3로 변환하기 위하여 간단히 사용할 수 있던 프로그램을 찾던 중 "Free M4a to MP3 Converter" 라는 프로그램을 발견, 그 프로그램을 설치하였음- 문제는 이 프로그램이 설치 중 2가지의 hijack...
Hotspot Shield Elite 1년 이용권 간단 리뷰    1. 들어가며 최근 다양한 외국 미디어나 어플리케이션 스토어의 매체의 우회 접속, 해킹 등으로 인한 각종 IP 접속에 대해 보안을 필요로 하는 경우가 많아졌습니다. 이에 따라서 VPN 서비스 또한 굉장히 큰 발전세를 보이고 있는...
웹 서버 프로토콜(HTTP/SSL/SPDY/HTTP2) 전송 상태 확인하기...   ▶ 들어가며 웹서버를 구축하며 웹 서버의 보안 또는 HTTP 통신 프로토콜에 신경을 쓰는 것은 굉장히 중요합니다. HTTP(하이퍼텍스트 전송 규칙; HTTP에 대해 자세한 정보가 필요하시면 여기(나무위키)나 여기(위키피디아)를 참고하세요.)는 첫 상용...

댓글 남기기

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