date.timezone
php에서 date함수를 이용할 때 시간이 맞지 않을 때가 있다.
분명 서버의 시간도 오후 5시이고, 현재 시간도 오후 5시인데, PHP에서 출력을 하면 엉뚱한 시간이 나오는 것이다.
[root@test ~]# date
Thu Nov 10 17:05:04 KST 2022
서버 내 php코드를 수행하여 웹브라우저를 통해 출력 시 , 아래와 같이 엉뚱한 시간이 나오고 있다.
코드는 date함수를 사용하여 시간을 출력하고 있으며 매우매우 간단하다.
<html>
<?php
echo "현재 날짜:". date("Y-m-d");
?>
<br>
<?php
echo "현재 시간:". date("H:i:s");
?>
</html>
이는 php의 전반적인 설정을 담당하는 전역 설정파일 php.ini 의 date.timezone 의 설정이 제대로 돼있지 않아서 그럴 확률 이 높다.
나의 경우도 date.timezone 관련 설정이 빈 값이었으며 이마저도 ;로 주석처리가 돼있었다.
TIP
*본인의 php.ini 위치를 모른다면, phpinfo 페이지를 통해 확인이 가능하다.
내 php.ini의 는 아래와 같이 /etc/php.ini였다.
phpinfo 페이지는 아래 코드를 통해 매우 쉽게 페이지 출력이 가능하다.
*아파치 웹서버를 기준으로 본인의 DcoumentRoot 경로 상에 임의의 이름으로 아래 코드를 넣어 만들어주면 된다.
<?php
phpinfo();
?>
아래처럼, phpinfo.php 라는이름의 간단한 php파일을 만들어 인포페이지를 확인!
여튼 php.ini 파일을 열고 date.timezone 설정을 찾는다.
; 를 없애 주석을 해제하고, Asia/Seoul 을 끝에 추가하여 서울 시간대가 반영되도록 한다.
이후 아파치 웹서버를 재시작하여 설정 내용을 반영한다.
이제 다시 date함수 호출페이지를 확인해보자. 현재 시간과 동일하게 정상적으로 호출된다 😜
'언어 > PHP' 카테고리의 다른 글
CentOS7 ImageMagick yum 설치 (PHP 확장모듈 라이브러리) (0) | 2022.11.03 |
---|