55번째 줄: | 55번째 줄: | ||
[root@localhost ~]# cat /etc/php.ini | grep timezone | [root@localhost ~]# cat /etc/php.ini | grep timezone | ||
; Defines the default timezone used by the date functions | ; Defines the default timezone used by the date functions | ||
; http:// | ; http://php.net/date.timezone | ||
date.timezone = Europe/Berlin | |||
</source> | </source> | ||
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/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 -i
bat
Copy
[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
2.4 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
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.