"PHP 시간대 설정 잘못된 경우"의 두 판 사이의 차이

42번째 줄: 42번째 줄:
|}
|}
→ timezone 문제인 것 같다. 베를린은 서울보다 8시간 느리다.
→ timezone 문제인 것 같다. 베를린은 서울보다 8시간 느리다.
===php -i===
<source lang='dos'>
[root@localhost ~]# php -i | grep timezone
PHP Warning:  Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in Unknown on line 0
Default timezone => Asia/Seoul
date.timezone => no value => no value
</source>


===php.ini===
===php.ini===

2012년 3월 2일 (금) 15:38 판

1 문제상황

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

PHP
Copy
echo date("Y-m-d H:i:s", time());

2 확인

2.1 date

bat
Copy
[root@localhost ~]# date
Fri Mar  2 15:31:45 KST 2012

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

2.2 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.3 php.ini

bat
Copy
[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를 재시작했지만, 변화없이 8시간 느리다.

date.timezone = Asia/Seoul