Jmnote bot (토론 | 기여) 잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight)) |
|||
(사용자 2명의 중간 판 20개는 보이지 않습니다) | |||
10번째 줄: | 10번째 줄: | ||
Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in /opt/apache2/htdocs/test.php on line 1 | Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in /opt/apache2/htdocs/test.php on line 1 | ||
}} | }} | ||
<syntaxhighlight lang='console'> | |||
[root@zetawiki ~]# php -r "echo date('Y-m-d H:i:s').PHP_EOL;" | |||
PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in Command line code on line 1 | |||
2014-09-07 07:29:53 | |||
</syntaxhighlight> | |||
==확인== | ==확인== | ||
15번째 줄: | 21번째 줄: | ||
;확인 예시 | ;확인 예시 | ||
< | <syntaxhighlight lang='console'> | ||
[root@ | [root@zetawiki ~]# cat /etc/php.ini | grep timezone | ||
; Defines the default timezone used by the date functions | ; Defines the default timezone used by the date functions | ||
; http://php.net/date.timezone | ; http://php.net/date.timezone | ||
;date.timezone = | ;date.timezone = | ||
</ | </syntaxhighlight> | ||
→ date.timezone이 설정되지 않았다. | → date.timezone이 설정되지 않았다. | ||
26번째 줄: | 32번째 줄: | ||
==수정== | ==수정== | ||
===방법 1: | ===방법 1: sed로 수정=== | ||
< | <syntaxhighlight lang='console'> | ||
[root@ | [root@zetawiki ~]# grep date.timezone /etc/php.ini | ||
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone | ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone | ||
;date.timezone = | ;date.timezone = | ||
[root@ | [root@zetawiki ~]# cp /etc/php.ini /etc/php.ini.old | ||
[root@ | [root@zetawiki ~]# sed -i 's/;date.timezone =/date.timezone = Asia\/Seoul/g' /etc/php.ini | ||
[root@ | [root@zetawiki ~]# diff /etc/php.ini.old /etc/php.ini | ||
946c946 | 946c946 | ||
< ;date.timezone = | < ;date.timezone = | ||
--- | --- | ||
> date.timezone = Asia/Seoul | > date.timezone = Asia/Seoul | ||
</ | </syntaxhighlight> | ||
===방법 2: 직접 | ===방법 2: 직접 편집=== | ||
php.ini를 수정하자. | php.ini를 수정하자. | ||
< | <syntaxhighlight lang='bash'> | ||
vi /etc/php.ini | vi /etc/php.ini | ||
</ | </syntaxhighlight> | ||
;변경 전 | ;변경 전 | ||
< | <syntaxhighlight lang='ini'> | ||
[Date] | [Date] | ||
; Defines the default timezone used by the date functions | ; Defines the default timezone used by the date functions | ||
; http://php.net/date.timezone | ; http://php.net/date.timezone | ||
;date.timezone = | ;date.timezone = | ||
</ | </syntaxhighlight> | ||
주석처리(;)를 제거하고 Asia/Seoul 값을 넣는다. | 주석처리(;)를 제거하고 Asia/Seoul 값을 넣는다. | ||
;변경 후 | ;변경 후 | ||
< | <syntaxhighlight lang='ini'> | ||
[Date] | [Date] | ||
; Defines the default timezone used by the date functions | ; Defines the default timezone used by the date functions | ||
; http://php.net/date.timezone | ; http://php.net/date.timezone | ||
date.timezone = Asia/Seoul | date.timezone = Asia/Seoul | ||
</ | </syntaxhighlight> | ||
==확인== | |||
<syntaxhighlight lang='console'> | |||
[root@zetawiki ~]# php -r "echo date('Y-m-d H:i:s').PHP_EOL;" | |||
2014-09-07 07:30:41 | |||
</syntaxhighlight> | |||
:→ Warning이 나오지 않음 (정상) | |||
==httpd 재시작== | ==httpd 재시작== | ||
< | *웹페이지에도 적용하려면 httpd를 재시작해야 한다. | ||
[root@ | <syntaxhighlight lang='console'> | ||
[root@zetawiki ~]# service httpd restart | |||
httpd 를 정지 중: [ OK ] | httpd 를 정지 중: [ OK ] | ||
httpd (을)를 시작 중: [ OK ] | httpd (을)를 시작 중: [ OK ] | ||
</ | </syntaxhighlight> | ||
==최종 확인== | ==최종 확인== | ||
77번째 줄: | 91번째 줄: | ||
*[[PHP 시간대 설정 잘못된 경우]] | *[[PHP 시간대 설정 잘못된 경우]] | ||
*[[리눅스 APM 설치]] | *[[리눅스 APM 설치]] | ||
*[[/etc/localtime]] | |||
*[[리눅스 시간대 설정]] | |||
*[[Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName]] | |||
==참고 | ==참고== | ||
*http://www.php.net/manual/en/datetime.configuration.php | *http://www.php.net/manual/en/datetime.configuration.php | ||
[[분류:PHP]] | [[분류:PHP Warning]] | ||
[[분류: | [[분류: 시간대]] |
2020년 11월 2일 (월) 00:56 기준 최신판
- PHP 시간대 설정
- PHP 시간대 최초 설정
- It is not safe to rely on the system's timezone settings.
- timezone 미입력시 경고 메시지
1 문제상황[ | ]
test.php에서 phpinfo();
를 실행시켰더니 다음과 같은 경고 메시지가 나온다.
Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in /opt/apache2/htdocs/test.php on line 1
Console
Copy
[root@zetawiki ~]# php -r "echo date('Y-m-d H:i:s').PHP_EOL;"
PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in Command line code on line 1
2014-09-07 07:29:53
2 확인[ | ]
php.ini를 열어 확인해보자.
- 확인 예시
Console
Copy
[root@zetawiki ~]# cat /etc/php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
→ date.timezone이 설정되지 않았다.
php.ini 파일이 여러 개 있을 수도 있다. phpinfo(); 결과에서 php.ini로 검색해보면 실제 사용되는 php.ini 파일을 찾을 수 있다.
3 수정[ | ]
3.1 방법 1: sed로 수정[ | ]
Console
Copy
[root@zetawiki ~]# grep date.timezone /etc/php.ini
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
;date.timezone =
[root@zetawiki ~]# cp /etc/php.ini /etc/php.ini.old
[root@zetawiki ~]# sed -i 's/;date.timezone =/date.timezone = Asia\/Seoul/g' /etc/php.ini
[root@zetawiki ~]# diff /etc/php.ini.old /etc/php.ini
946c946
< ;date.timezone =
---
> date.timezone = Asia/Seoul
3.2 방법 2: 직접 편집[ | ]
php.ini를 수정하자.
Bash
Copy
vi /etc/php.ini
- 변경 전
ini
Copy
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
주석처리(;)를 제거하고 Asia/Seoul 값을 넣는다.
- 변경 후
ini
Copy
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Seoul
4 확인[ | ]
Console
Copy
[root@zetawiki ~]# php -r "echo date('Y-m-d H:i:s').PHP_EOL;"
2014-09-07 07:30:41
- → Warning이 나오지 않음 (정상)
5 httpd 재시작[ | ]
- 웹페이지에도 적용하려면 httpd를 재시작해야 한다.
Console
Copy
[root@zetawiki ~]# service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: [ OK ]
6 최종 확인[ | ]
브라우저로 test.php를 열어보니, 이제 경고 없이 정상이다.
7 같이 보기[ | ]
- PHP 시간대 설정 잘못된 경우
- 리눅스 APM 설치
- /etc/localtime
- 리눅스 시간대 설정
- Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
8 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.