>백엔드 개발 >PHP 튜토리얼 >PHP_php 팁에서 '시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다' 문제를 해결합니다.

PHP_php 팁에서 '시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다' 문제를 해결합니다.

WBOY
WBOY원래의
2016-05-16 20:07:041158검색

PHP5.3 이상을 사용하는 경우 php.ini가 올바르게 구성되지 않으면 PHP 날짜 기능에 오류가 발생합니다. 과거에는 많은 오래된 PHP 프로그래밍 튜토리얼에서 이 문제를 언급하지 않았기 때문에 많은 독자들이 혼란스러워할 것입니다. 아래 저자는 이 문제를 해결하는 세 가지 방법을 알려줄 것입니다.
"PHP 경고:
date() [function.date]: 시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다.
날짜를 *필수*로 사용하셔야 합니다.
시간대 설정 또는 date_default_timezone_set() 함수.
이러한 방법 중 하나를 사용했는데도 여전히 이 경고가 표시되는 경우
시간대 식별자를 놓쳤을 가능성이 큽니다.
"

에서 '8.0/no DST' 대신 'UTC'를 선택했습니다.

실제로 PHP 5.1.0부터는 date() 등의 함수를 사용할 때 타임존을 잘못 설정하면 time 함수가 호출될 때마다 E_NOTICE 또는 E_WARNING 정보가 생성됩니다. 그리고 PHP 5.1.0에서는 date.timezone 옵션이 기본적으로 꺼져 있는데, 어떤 PHP 명령어를 사용해도 그리니치 표준시인데, PHP 5.3에서는 이 옵션을 사용하면 강제로 버릴 것 같습니다. 설정되지 않았습니다. 이 문제를 해결하려면 현지화하세요.

1. 헤더에 date_default_timezone_set()을 사용하여 date_default_timezone_set('PRC') //동부 8번째 시간대 설정
date('연월일 H:i:s');

2. 페이지 헤더에 ini_set('date.timezone','Asia/Shanghai');

를 사용하세요.

3. php.ini를 수정합니다(Windows 시스템인 경우 파일은 C 드라이브에 있고, 시스템이 C 드라이브에 설치된 경우 Windows 디렉터리에 있습니다). 메모장을 사용하여 php.ini를 열고 date.timezone을 검색하세요. 앞에 있는 세미콜론을 제거하고 date.timezone = PRC
로 변경하세요. http 서비스(예: apache2 또는 iis 등)를 다시 시작하세요!

위 세 가지 방법 중 하나를 선택하시면 됩니다. 편집자는 매번 추가 코드를 추가하지 않고 세 번째 방법을 사용할 것을 권장합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.