PHP 로 만든 웹사이트 서버 이전시 PHP timezone 변경 및 오류 대처 방법 > 개발

본문 바로가기
사이트 내 전체검색

개발

PHP 로 만든 웹사이트 서버 이전시 PHP timezone 변경 및 오류 대처 방법

페이지 정보

profile_image
작성자 관리자 (119.♡.119.69)
댓글 0건 조회 15회 작성일 24-06-15 18:06

본문

PHP 로 만든 웹사이트 서버 이전시 PHP timezone 변경 및 오류 대처 방법


## 현상

PHP 로 작성된 웹사이트 소스를 구서버에서 신서버로 이전후에,
웹페이지 게시물의 날짜 등을 확인하는데, 날짜 값이 잘 못 나오고 있다.

디비 입력시, 날짜 시간 정보를 timestamp 로 변경해서 디비에 저장하고,
보기 화면에서, 디비에 저장된 timestamp 값을 날짜로 변경하여 보여 주는데, 이 날짜 값이 잘 못 나온다.

즉, 구서버에서 저장된 timestamp 값이 신서버에서 본래의 날짜로 변환되지 않는 것이다.


## 원인

우선, 구서버와 신서버의 서버 환경을 비교해 보았다.
```
# env
# date
# timedatectl
```

두 서버 모두 timezone 이 KST 로 나온다.
뭐 당연하겠지만, 우리나라 시간에 맞춰야 해서 그런 듯 하다.

그러면, PHP 차원에서 timezone 이 다르다는 얘기인다. php 정보를 확인해 본다.
```
# php -i | grep timezone
```
역시나, 구서버는 'Asia/Seoul' 으로 나오고, 신서버는 'UTC' 가 나온다.

아래처럼 웹으로 확인해 볼 수도 있다. 두 서버의 php 에서 default timezone 을 찍어 본다.
```
<?php
echo date_default_timezone_get();
```


## 해결방법

디비에 저장되어 있는 timestamp 값들을 모두 변경할 수는 없으니, php 의 timezone 을 변경하기로 한다.

그런데, 전체 PHP 의 타임존을 변경해 버리면, 해당 서버에 있는 모든 웹사이트들이 영향을 받을 수 있으니,
해당 웹사이트만 적용이 되도록 한다.

해당 웹사이트의 wwwroot 에 .user.ini 파일을 하나 만들어서 아래의 설정들을 넣고 저장한다.
php 소스가 오래된 소스들이라서 short_open_tag 설정도 같이 넣어 준다.

.user.ini
```
short_open_tag = On
date.timezone = Asia/Seoul
```

추천0

댓글목록

등록된 댓글이 없습니다.

Total 389건 1 페이지
  • RSS
개발 목록
번호 제목 조회 추천 날짜
3897006-15
열람중16006-15
387125005-27
386606004-07
3851418002-02
3841306001-09
3831590012-25
3821286012-15
3811033012-10
380636012-03
379737011-26
378631011-04
3771278009-08
3761575008-11
3751681008-10
3741998007-10
3731380007-03
3721879006-06
3711649004-23
3701662004-20

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.