PHP 에서 date("Y-m-d H:i:s") 를 찍어봤는데 현재 시간과 달랐다. php.ini 파일에서 타임존 설정도 해주고 리눅스 시간도 맞춰줬는데 시간이 달랐다. 마지막 원인은 리눅스에서 date 명령어를 쳤을 때 끝에 노출되는게 EST 였다. 이게 KST로 나와야 한다고 한다. 무튼 이래저래 시간을 맞춰주기 위해서는 다음과 같이 순서대로 설정해주면 될거 같다.
1. 리눅스 localtime 설정
ls /usr/share/zoneinfo
위 명령으로 zoneinfo 하위에 Asia가 존재하는지 확인한다.
ls /usr/share/zoneinfo/Asia
그 다음 위 명령을 내리면 Asia의 국가들이 나온다. Seoul 이 존재하는지 확인다.
위에서 확인한 Seoul로 localtime을 설정해주려면 아래와 같이 명령을 내리면 된다.
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
2. 리눅스 시간 설정
1번에서와 같이 localtime을 Asia로 설정해주고 나서 date의 시간이 맞다면 괜찮지만 맞지 않다면 다음과 같이 설정해주면 된다.
http://ko.thetimenow.com/south_korea
위와 같은 현재 시간을 볼 수 있는 사이트를 통해 현재 시간을 확인한 다음 리눅스에서 다음과 같이 명령을 내려준다.
date -s "2016-12-10 23:34:50"
위 명령을 내리고 date 명령어로 확인하면 시간이 맞게 나온다. 그 다음 아래 명령으로 하드웨어 시간을 설정해야한다.
hwclock --localtime --systohc
그 다음 아래 명령으로 하드웨어 시간을 확인하면 시간이 일치하는 것을 확인할 수 있다.
hwclock -r
3. PHP timezone 설정
PHP 소스에 date_default_timezone_set('Asia/Seoul'); 이렇게 코드를 넣어주는 방법도 있지만 php.ini 파일에서 date.timezone을 검색하여 아래와 같이 적어주는 방법도 있다.
date.timezone = Asia/Seoul
'Develop > PHP' 카테고리의 다른 글
코드이그나이터 URL에서 index.php 생략하는 방법 (0) | 2020.02.24 |
---|---|
PHP 모바일 기기를 확인하는 방법 (0) | 2020.02.24 |
[PHP]imagecreate 사용방법 (0) | 2016.09.28 |
[PHP]mbstring 함수 사용방법 (0) | 2016.09.28 |
[PHP]파라미터 값 변수로 받기 위한 설정 (0) | 2016.09.28 |
댓글