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

잔글 (로봇: 자동으로 텍스트 교체 (-<source lang='dos'> +<source lang='cli'>))
6번째 줄: 6번째 줄:
</source>
</source>


<source lang='dos'>
<source lang='cli'>
[root@localhost ~]# date
[root@localhost ~]# date
Fri Mar  2 15:31:45 KST 2012
Fri Mar  2 15:31:45 KST 2012
44번째 줄: 44번째 줄:


===php.ini===
===php.ini===
<source lang='dos'>
<source lang='cli'>
[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

2015년 2월 6일 (금) 02:52 판

1 문제상황

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

PHP
Copy
echo date("Y-m-d H:i:s", time());
Copy
[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

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를 재시작했더니 정성화되었다.

text
Copy
date.timezone = Asia/Seoul
Bash
Copy
httpd -k restart

4 같이 보기