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

이런 글들은 어떠신가요?

웹 서버 프로토콜(HTTP/SSL/SPDY/HTTP2) 전송 상태 확인하기... ▶ 들어가며 웹서버를 구축하며 웹 서버의 보안 또는 HTTP 통신 프로토콜에 신경을 쓰는 것은 굉장히 중요합니다. HTTP(하이퍼텍스트 전송 규칙; HTTP에 대해 자세한 정보가 필요하시면 여기(나무위키)나 여기(위키피디아)를 참고하세요.)는 첫 상용...
Microsoft Sculpt Comfort Bluetooth Mouse 간단 리뷰... 안녕하세요. 곰곰입니다.최근 사용하고 있던 로지텍 마우스가 왼쪽 버튼이 잘 안눌리던 관계로(ㅠㅠ), 마이크로소프트의 스컬프트 컴포트 마우스(Microsoft Sculpt Comfort Mouse)를 구매했기에 리뷰를 올리려고 합니다.블루투스 마우스를 구매...
워드프레스 Nginx 라즈베리파이로 서버 설치 또는 이전... ▶ 들어가며 본 블로그(곰곰 잡동사니 블로그)는 Tistory에서 테더툴즈로 돌아가던 시절로부터 시작해서, 노트북 내에 민트 리눅스를 사용하여 집에서 서버로 운영되고 있었습니다. 하지만 본 블로그는 인기가 한 푼 어치도 없는 블로그(...)이기 때문에, i3-3217...
(Avira 백신 사용자) 네이버가 하얀 화면으로 나오는 문제 해결 방법... 안녕하세요. 곰곰입니다.오늘은 크롬 등의 브라우저에서 네이버 페이지 등(필자는 네이버 페이지였으나 다른 페이지도 이럴 수 있음)이 하얀 화면으로만 나오고 아무 화면이 나오지 않는 경우의 해결 방법에 대해 알아보고자 합니다.   ...
리눅스 민트(Linux Mint) 부팅 시 콘솔(CUI)로 부팅하기... ▶ 들어가며 리눅스 민트(Linux Mint)는 우분투 기반으로 만들어진 리눅스입니다. 기존에 있던 우분투도 사용자적인 측면에서 많은 배려가 있는 운영체제였는데요, 리눅스 민트는 더욱 더 사용자가 친숙하다고 느낄 수 있도록(사실 이 친숙하다는 부분은 Microsoft...

댓글 남기기

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