Browsed by
카테고리: 에러-버그로그

IT 관련 각종 에러나 버그 관련 카테고리입니다.

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

이런 글들은 어떠신가요?

사회복무요원 (전 명칭 공익근무요원) 급여 계산법? 이렇게 계산하세요!... 안녕하세요. 곰곰입니다.오늘은 뜬금없지만, 사회복무요원의 급여 계산법에 대해 알아보고자 합니다.평소에 본인이 사회복무요원으로 근무하면서 (근무한지 며칠도 되지 않았지만) 도대체 나는 얼마를 받고, 이 돈은 왜 받고 있는지 궁금해 하며 검색했던 정보들을 토...
Ubuntu Server 16.04 LTS Amazon Web Service Canonic... On https://cloud-images.ubuntu.com/query/xenial/server/released.txt , there isn't ap-northeast-2 (Seoul Region) AMI image list,So I jus...
Mpow Swift Bluetooth 4.0 이어폰 간단 리뷰 안녕하세요. 곰곰입니다.며칠 전, 아시는 분을 통해 LG의 톤플러스 블루투스 헤드셋 짝퉁(...)을 받았던 저는 그 저질스러운 음질에 굉장히 실망했던 적이 있었습니다. 저번에 사용하던 블루투스 이어폰도 영 음질이 안좋았던지라 "블루투스는 다 거기서 거기인가보다...
웹 서버 프로토콜(HTTP/SSL/SPDY/HTTP2) 전송 상태 확인하기... ▶ 들어가며 웹서버를 구축하며 웹 서버의 보안 또는 HTTP 통신 프로토콜에 신경을 쓰는 것은 굉장히 중요합니다. HTTP(하이퍼텍스트 전송 규칙; HTTP에 대해 자세한 정보가 필요하시면 여기(나무위키)나 여기(위키피디아)를 참고하세요.)는 첫 상용...