난 맥 매버릭(OS X 10.9.1)을 사용하고 php 5.3버전을 설치해서 사용하고 있는데,
php의 시간함수로 출력한 시간이 현재 시각보다 8시간 느리게 나와서 아래와 같이 한국시간으로 타임존을 설정했다.
<php.ini>
date.timezone = Asia/Seoul
이렇게 설정해주고 아파치를 재시작하면 타임존이 적용되어 제대로 한국 시간이 출력될 줄 알았는데 결과는 그렇지 않았다!!!
수많은 삽질과 검색으로 알게 된 것은....
php의 설정파일은 php.ini하나만이 아니라 여러개가 있고, 다른 설정파일에 의해서 php.ini의 타임존 설정이 덮어씌어졌다는 것이었다.
각 설정파일들이 어디에 있는지는 phpinfo()로 알 수 있다.
위의 그림처럼 php.ini와 추가 설정 파일들이 다수 존재한다.
추가 설정파일은 환경에 따라 다르다.
조사 결과 php.ini의 타임존이 덮어쳐진 이유는
/usr/local/php5/php.d/99-liip-developer.ini
파일에서 타임존을 다시 설정하고 있기 때문이었다.
99-liip-developer.ini 파일을 열면 아래와 같이 타임존을 "쥬리히"로 세팅하고 있는 것을 알 수 있다.
...
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; adjust those settings as required
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[liip]
memory_limit = 256M
; Liip Zurich
date.timezone = Europe/Zurich
date.default_latitude = 47.38
date.default_longitude = 8.5244
...
위의 빨간 글씨의 3줄을 ";"로 코멘트아웃하고 아파치를 재시작하니 시간이 한국시간으로 출력되었다.
지금까지 한 삽질을 생각하면 눈물이... T-T