PHP 시간대 설정 잘못된 경우

1 문제상황[ | ]

서버 시계는 맞는데, PHP에서 시계가 맞지 않는다. 아래 PHP 소스를 실행했더니 8시간 느린 시각이 나온다.

echo date("Y-m-d H:i:s", time());
[root@localhost ~]# date
Fri Mar  2 15:31:45 KST 2012

→ 시스템 시계는 정상이며 한국표준시(KST)이다.

2 확인[ | ]

2.1 phpinfo[ | ]

  • phpinfo();를 확인해보니 다음과 같았다.
date
date/time support enabled
"Olson" Timezone Database Version 2011.8
Timezone Database internal
Default timezone Europe/Berlin
Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone Europe/Berlin Europe/Berlin

→ timezone 문제인 것 같다. 베를린은 서울보다 8시간 느리다.

2.2 php.ini[ | ]

[root@localhost ~]# cat /etc/php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Berlin

3 적용[ | ]

php.ini에 내용을 수정하고 httpd를 재시작했더니 정성화되었다.

date.timezone = Asia/Seoul
httpd -k restart

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}